Портирую программу из gcc на MS VS, но не могу разобраться в импортом.

Тема в разделе "LANGS.C", создана пользователем God_Father, 26 авг 2008.

  1. God_Father

    God_Father New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2007
    Сообщения:
    99
    В gcc импортируемая функа подключается так
    extern IMPORT SPICEanalysis OPTinfo;
    а Visual С++ на это ругается.
    Как я выяснил, он вообще такой синтаксис не поддерживает.
    Для особо непонятливых есть у меня libcircuit.dll
    в ней в сегменте экспорта функа OPTinfo.
    Как мне её и другие функи запихнуть в сегмент импорта exe.
     
  2. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Дежурные телепаты в отпуске, так что учись правильно задавать вопросы. Как именно "ругается"? Компилятор или линкер? Как конкретно определены IMPORT и SPICEanalysis?
    Предположу что SPICEanalysis это typedef с типом функции.
    Тогда попробуй так:
    #define IMPORT extern "C" __declspec("import")
    Вдобавок нужно сделать библиотеку импорта для DLL. Делаешь текстовый файл с таким содержимым:
    Код (Text):
    1. LIBRARY libcircuit.dll
    2. EXPORTS
    3.   OPTinfo
    4.   [...]
    Сохраняешь как libcircuit.def и выполняешь:
    lib /def:libcircuit.def
    После этого добавляешь libcircuit.lib в список линкера.