|
|
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
Кто знает почему Visual C++ вопреки директиве extern "C", генерирует другое имя для функции? Использую Visual C++ 2003 и из DLL экспортирую функцию так: Код: plaintext 1. Просматриваю скомпилированную DLL утилитой TDUMP, а там в списке экспортируемых функций числится GetUserFromAdir с другим именем (_GetUserFromAdir@4) Как это побороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 10:58 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
Почему , все вродебы правильно . енто что то вроде станжарта такого . ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 13:04 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
Gasanov2003Использую Visual C++ 2003 и из DLL экспортирую функцию так: Код: plaintext 1. По моим смутным воспоминаниям, есть вариант Код: plaintext 1. 2. Правда, это было давно и на ваткоме. Так что если визуал си не работает - ищи работающий софт ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 13:19 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
енто же вообще что то связанное со стандартами OMF и COFF ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 13:32 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
softwarerПо моим смутным воспоминаниям, есть вариант Код: plaintext 1. 2. Правда, это было давно и на ваткоме. Так что если визуал си не работает - ищи работающий софт ;-) Вот этот вариант у меня именно на Visual C++ 2003 превосходно работает TDUMP показывает fn_print Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 13:41 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
ZrenBy softwarerПо моим смутным воспоминаниям, есть вариант Код: plaintext 1. 2. Правда, это было давно и на ваткоме. Так что если визуал си не работает - ищи работающий софт ;-) Вот этот вариант у меня именно на Visual C++ 2003 превосходно работает TDUMP показывает fn_print Код: plaintext 1. 2. Пробовал Код: plaintext 1. 2. 3. не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 16:31 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
Gasanov2003не помогает Опа. Поставил у себя для эксперимента __stdcall , и привет - функция декорировалась. Интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 18:36 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
ZrenBy Опа. Поставил у себя для эксперимента __stdcall , и привет - функция декорировалась. Интересно. И у меня сработало правильно (имя не изменилось) без __stdcall . Без __stdcall она же не будет вызываться нормально из других языков? В частности, из Delphi я попробовал. Access violation выкидывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 19:11 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
Gasanov2003 Без __stdcall она же не будет вызываться нормально из других языков? В частности, из Delphi я попробовал. Access violation выкидывает. Про другие языки не знаю, ну а в D это делается просто Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 20:24 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
Gasanov2003 ZrenBy Опа. Поставил у себя для эксперимента __stdcall , и привет - функция декорировалась. Интересно. И у меня сработало правильно (имя не изменилось) без __stdcall . Без __stdcall она же не будет вызываться нормально из других языков? В частности, из Delphi я попробовал. Access violation выкидывает. Дык, может без extern "C" тогда сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 06:39 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
Без - это через def-файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 08:47 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
__stdcall убири. Дакуминтацию читай. __stdcall дабавляет вканец @<каличиства байт в стеке при вызаве функции> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 10:25 |
|
||
|
Про extern "C" в Visual C++ 2003
|
|||
|---|---|---|---|
|
#18+
__stdcall - спецификация вызова функции, когда после ее завершения она сама чистит стек за собой __cdecl - спецификация вызова функции, когда после ее завершения сама программа чистит стек, который был занят данной функцией. (или наоборот?) А вот насчет extern "C" - где-то в MSDN-е было сказано про, так называемые, Decorated Names . Так вот там, кажется, было оговорено, что к функциям присобачивается знак подчеркивания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 10:43 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32782207&tid=2034089]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 313ms |

| 0 / 0 |
