bb.donnay-software.com

Donnay Software Web Forums
It is currently Mon May 25, 2020 9:28 am

All times are UTC - 7 hours




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Thu Nov 05, 2015 8:38 am 
Offline
User avatar

Joined: Tue Jul 28, 2015 5:15 am
Posts: 94
It would be nice to have some posts that explains the difference between the DLL and the LIB, when to add it as #Pragma Libray in the PRG file or in the project file.


Top
 Profile  
 
PostPosted: Thu Nov 05, 2015 10:07 am 
Offline
Site Admin
User avatar

Joined: Wed Jan 27, 2010 6:58 pm
Posts: 4124
Location: Boise, Idaho USA
A DLL contains executable binary code. It is identical to an EXE except that it has no specific start procedure.

A LIB contains a list of public functions that are included in the associated DLL. This is why you must reference LIB files in your project file or with a #Pragma() in your source code.

The linker (ALINK) is called by PBUILD as the last step in the project build process. It resolves symbols that are called from your application to where they exist in a DLL and only when all symbols are resolved then the EXE or DLL is created. This resolution is accomplished by searching the LIB file for each DLL.

You do not need to distribute LIB files with your end applications unless your customers are Xbase++ programmers who intend to use your library in their own application, such as eXpress++ because LIB files are only used at LINK time not at RUNTIME.

CH files are basically the same as PRG files. They are used by the XPP compiler when compiling source into .OBJ files which will later be linked together into an EXE or DLL.

CH files usually contain only commands or definitions but they can also contain executable code an procedures.

DCDIALOG.CH contains all the DC* command for the eXpress++ GUI system.

The XPP compiler also contains a pre-processor. This pre-processing is done before the actual compiling of the source. It converts all commands into functions recognizable by the compiler and all defines into literal values recognized by the compiler. To see how the pre-processor works add the /P switch to your compile parameters in your project file. A file will be created with the .PPO (pre-processed output) extension. This will show exactly what is getting compiled into your binary EXEs and DLLs.

_________________
The eXpress train is coming - and it has more cars.


Top
 Profile  
 
PostPosted: Thu Nov 05, 2015 2:35 pm 
Offline
User avatar

Joined: Tue Jul 28, 2015 5:15 am
Posts: 94
:clap: Thank you.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group