2011-10-06 13 views

Odpowiedz

30

Tak, jeśli wiesz podpisu funkcji

Wystarczy napisać podpisu funkcji przed wywołaniem go, jak:

void f(int); //it is as if you've included a header file 

//then call it 
f(100); 

Wszystko, co musisz zrobić, to: powiązanie slib.a do programu.

Należy również pamiętać, że jeśli biblioteka statyczna jest napisany w C i został skompilowany z kompilatora C, a następnie masz do korzystania extern "C" pisząc podpisu funkcji (jeśli programować w C++), jak:

extern "C" void f(int); //it is as if you've included a header file 

//then call it 
f(100); 

Ewentualnie, jeśli masz wiele funkcji, a następnie można je zgrupować jako:

extern "C" 
{ 
    void f(int); 
    void g(int, int); 
    void h(int, const char*); 
} 

może wolisz pisać wszystkie podpisy funkcjonować w przestrzeni nazw, tak aby uniknąć ewentualnych kolizji imieniny:

namespace capi 
{ 
    extern "C" 
    { 
    void f(int); 
    void g(int, int); 
    void h(int, const char*); 
    } 
} 

//use them as: 

capi::f(100); 
capi::g(100,200); 
capi::h(100,200, "string"); 

Teraz można napisać wszystko to w pliku nagłówka, tak aby można było dołączyć plik nagłówka w swoim .cpp plików (jak zwykle) i wywołać funkcję (S) (jak zwykle).

Nadzieję, że pomaga.

+13

Innymi słowy: Zapisz samodzielnie plik nagłówkowy biblioteki. – sth

5

Najprostszy sposób: Zapisz podpis w pliku nagłówkowym, dołącz go i połącz z biblioteką.

Powiązane problemy