Borland C++3.1 и dll

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

  1. random

    random New Member

    Публикаций:
    0
    Регистрация:
    10 янв 2008
    Сообщения:
    38
    В общем есть код:
    Код (Text):
    1.        #define MAX_LNG 10000   
    2.     typedef int bigint[MAX_LNG];
    3.    
    4.  
    5.    
    6. extern "C"  __declspec(dllexport)   void zero (bigint x)
    7.     {
    8.       //bla-bla-bla
    9.     }
    10.    
    11. extern "C" __declspec(dllexport)      void move (bigint x, bigint y)
    12.     {
    13.        
    14.     }
    15.    
    16. extern "C" __declspec(dllexport)      int str2big ( char *X, bigint x)
    17.     {  
    18.      
    19.     }
    20.    
    21. extern "C" __declspec(dllexport)      int big2str(bigint x, char *X)
    22.     {
    23.        
    24.     }
    25. extern "C" __declspec(dllexport)      int add( bigint x, bigint y, bigint z)
    26.     {
    27.    
    28.     }
    29.    
    30. extern "C" __declspec(dllexport)       int sub( bigint x, bigint y, bigint z)
    31.     {
    32.    
    33.     }
    34.    
    35. extern "C" __declspec(dllexport)      int mul ( bigint x, bigint y, bigint z)
    36.     {
    37.        
    38.     }
    39.    
    40. extern "C" __declspec(dllexport)      int div ( bigint x, bigint y, bigint q, bigint r)
    41.     {
    42.        
    43.     }
    Помогите скомпилить в dll, плиз... Может где попадется, как работать с dll d Borland C++ 3.1...
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    random
    random.cpp
    Код (Text):
    1. #pragma warn -rvl
    2. #pragma warn -par
    3.  
    4. #define FAR                 _far
    5. #define PASCAL          _pascal
    6.  
    7. typedef unsigned short      WORD;
    8. typedef char FAR*           LPSTR;
    9. typedef unsigned int        UINT;
    10.  
    11. #ifdef STRICT
    12. typedef const void NEAR*        HANDLE;
    13. #else
    14. typedef UINT                    HANDLE;
    15. #endif
    16.  
    17.  
    18. #define MAX_LNG 10000  
    19. typedef int bigint[MAX_LNG];
    20.    
    21. extern "C"  _export     void zero (bigint x)
    22.     {
    23.       //bla-bla-bla
    24.     }
    25.    
    26. extern "C" _export    void move (bigint x, bigint y)
    27.     {
    28.        
    29.     }
    30.    
    31. extern "C" _export    int str2big ( char *X, bigint x)
    32.     {  
    33.      
    34.     }
    35.    
    36. extern "C" __export       int big2str(bigint x, char *X)
    37.     {
    38.        
    39.     }
    40. extern "C" _export    int add( bigint x, bigint y, bigint z)
    41.     {
    42.    
    43.     }
    44.    
    45. extern "C" _export     int sub( bigint x, bigint y, bigint z)
    46.     {
    47.    
    48.     }
    49.    
    50. extern "C" _export    int mul ( bigint x, bigint y, bigint z)
    51.     {
    52.        
    53.     }
    54.    
    55. extern "C" _export    int div ( bigint x, bigint y, bigint q, bigint r)
    56.     {
    57.        
    58.     }
    59.  
    60. extern "C" int FAR PASCAL LibMain( HANDLE hInst, WORD wData, WORD cbHeap, LPSTR cmd )
    61. {
    62.     return 1;
    63. }
    random.def
    Код (Text):
    1. LIBRARY   RANDOM
    2.  
    3. EXETYPE   WINDOWS
    4.  
    5. CODE      PRELOAD MOVEABLE DISCARDABLE
    6. DATA      PRELOAD SINGLE
    7.  
    8. HEAPSIZE  1024
    9.  
    10. EXPORTS
    11. ZERO    = _zero
    12. MOVE    = _move
    13. STR2BIG = _str2big
    14. BIG2STR = _big2str
    15. ADD     = _add
    16. SUB     = _sub
    17. MUL     = _mul
    18. DIV     = _div
    makeit.bat
    Код (Text):
    1. set path=c:\dev\bc\bin;%path%
    2. bcc -c -Wd random
    3. tlink -TWd random,,,,random
     
  3. random

    random New Member

    Публикаций:
    0
    Регистрация:
    10 янв 2008
    Сообщения:
    38
    Спасибо, разобрался...