#go #build #int
#Вперед #сборка #int
Вопрос:
Я хочу определить константу, числовое значение которой зависит от того, int
является 32-разрядным или 64-разрядным типом в конкретной целевой архитектуре. Можно скомпилировать исходные файлы go условно, используя ограничения сборки.
Существуют ли простые предложения ограничения сборки с предопределенными тегами, которые выбирают для одного или другого? В идеале, что-то вроде:
// build 32bit
В противном случае мне пришлось бы либо каким-то образом определять размер извне и использовать пользовательские теги сборки, либо поддерживать большой список предопределенных целевых тегов, которые могут меняться с каждым выпуском go. Есть ли более простой способ?
Комментарии:
1. Нет встроенного ограничения сборки конкретно на размер
int
. Вы могли бы попытаться настроить таргетинг на основеGOARCH
(например,386
vsamd64
,arm
vsarm64
и т.д.). Хотя это кажется очень вероятной проблемой XY — зачем вы пытаетесь это сделать?