Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Imagine that:<br/> You are a designer of library (DLL). You have to define what library must to do ... and after that you write it. Many process can use your functions from this DLL, there are one piece of memory in your RAM.<br/> When you include this library to your project (for example in c++) you have to add some informations about functions in this DLL. <br/><br/> First option:<br/> You can declare some interfaces of library functions (then your linker is happy ;) ). For example: __declspec(dllexport) int my_function(char *);<br/> After that names of exported objects are completed in your programme (linker job ;) )... but Names of this objects depends on language, compiler, blah blah blah<br/><br/> Second option:<br/> You add to the project of your library some informations to the linker (file *.def). That file has two sections: LIBRARY and SECTIONS. LIBRARY is internal name your lib:<br/> LIBRARY my_lib<br/> In EXPORTS section are symbols which can by exported from library.<br/> EXPORTS<br/> function1<br/> function2<br/> function3<br/><br/> You can see, this functions doesn't have types, formal parameters etc. When you include this lib, you don't have any information about function.<br/><br/></p> <p>When you do this (.def file) and compile your lib, you have got .dll and .lib file. Second file can be use to link library in execution time.<br/> If you want check exports in this library you can use "Dependecny Walker" or "dumpbin":<br/> dumpbin my.dll /exports<br/><br/> Next you can load that library:<br/> first option: __declspec(dllimport) int my_function(char *);<br/> or<br/> second: HMODULE LoadLibrary(LPCSTR lpszLibName);<br/><br/></p> <p>conlusion: using exports can create more universal lib (but more complicated)</p> <p>(sorry for my very bad english :/)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload