Компьютеры | Позвать функцию на Си |
|
---|---|---|
Есть дллька, в ней три функции , с двумя все нормально, а на третью (на мои попытки вписать ее в программу компилятор ругается.) |
|
|
Как именно он ругается? И какая программа - на С или С++? |
|
|
chav1961: Как именно он ругается? ..error #2140: Type error in argument 2 to 'HTCSensorGetDataOutput'; found 'struct SensorData *', expected 'int'. chav1961: на С или С++? |
|
|
Прототип: Вызов: |
|
|
..Pelles C Projects\Vmax\main.c(25): error #2095: Missing parameter type 'SensorData'. |
|
|
Если на чистом С - то в нем типа данных "ссылка" еще не было. Попробуйте вместо "&" использовать "*" - int HTCSensorGetDataOutput(HANDLE handle, struct SensorData *data); а вызов - как предложил GM. И еще два момента, где могут быть проблемы: 1. если DLL написана на С++, из С вы ее не вызовете, потому что в этом случае точка входа в библиотеке будет называться не HTCSensorGetDataOutput, а что-нибудь навроде ??@@HTCSensorGetDataOutput@Xyz##kkk (как точно, я не знаю - это просто пример с потолка), потому что в С++ используется механизм декорирования имен (хотя для DLL его стараются не применять). 2. Частенько для DLL вместо сишного соглашения о связях используется паскалевское, поскольку оно быстрее работает и экономнее по коду. Если при вызове точки входа программа будет рваться, попробуйте в прототип дописать CALLBACK - int CALLBACK HTCSensorGetDataOutput(HANDLE handle, struct SensorData *data); |
|
|
chav1961: Кстати говоря, такое ощущение, что структура у вас нигде не объявлена. Это так? |
|
|
Вам компилятор прямо указывает, что вы не описали второй параметр, он ожидает интеджер, а не структуру. И мне не понятно, как у вас структура называется "SensorData&" или "SensorData"? Попробуйте ещё так Прототип: |
|
|
GM: он ожидает интеджер, а не структуру. Вообще хрень какая-то , если угомонить сенсордату, то начинает ругаться на хендл. |
|
|
Alexey, выложите весь исходник программы. Такое ощущение, что не там ищем |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |