встраивание требования dll в программу

Исполнительное резюме:

int a[17];
size_t n = sizeof(a)/sizeof(a[0]);

Чтобы определить размер вашего массива в байтах, вы можете использовать оператор sizeof:

int a[17];
size_t n = sizeof(a);

На моем компьютере, ints имеют длину 4 байта, поэтому n равно 68.

Чтобы определить количество элементов в массиве, мы можем разделить общий размер массива на размер элемента массива. Вы можете сделать это с типом, например:

int a[17];
size_t n = sizeof(a) / sizeof(int);

и получить правильный ответ (68/4 = 17), но если тип a изменился, у вас будет неприятная ошибка, если вы также забыли изменить sizeof(int).

Таким образом, предпочтительным делителем является sizeof(a[0]), размер элемента zeroeth массива.

int a[17];
size_t n = sizeof(a) / sizeof(a[0]);

Еще одно преимущество что теперь вы можете легко параметризовать имя массива в макросе и получить:

#define NELEMS(x)  (sizeof(x) / sizeof((x)[0]))

int a[17];
size_t n = NELEMS(a);
1
задан JGC 19 May 2010 в 16:25
поделиться

1 ответ

Когда вы распространяете свой пакет (будь то с помощью соответствующего установщика или просто zip-файла или что-то еще), вы также должны включать DLL. Точно то, как включать DLL, зависит от того, какой инструмент вы используете для создания установщика.

Если по какой-то причине вы ограничены распространением одного файла .exe, вы можете использовать ILMerge , чтобы объединить произвольное количество библиотек DLL .NET в исполняемый файл.

2
ответ дан 3 September 2019 в 00:27
поделиться