Предупреждение C4232: используется нестандартное расширение. Адрес dllimport 'func' не является статическим, идентификация не гарантируется - PullRequest
0 голосов
/ 06 мая 2018

У меня есть DLL (назовите ее DLL1) (язык c) с двумя файлами:

  • file1.h
  • file1.c

В file1.h У меня есть:

void func(void);    

В file1.c У меня есть:

#include "file.h"    
void func() { /* implementation */}

В DLL2 у меня есть file2.c, который включает file1.h и имеет массив функций, подобных этой:

const void* arr[1] = { func };  

Массив, который содержит указатели на некоторые функции (одна функция в этом примере) из других DLL.

Я получаю предупреждение:

warning C4232: nonstandard extension used : 'void *' : address of dllimport 'func' is not static, identity not guaranteed

Есть ли какое-то решение для этого? Сделать адрес этой функции статическим / постоянным?
Я пытался использовать __declspec( dllimport ) и __declspec( dllexport ), но это не помогло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...