By liran bh | 2/26/2017 | Linux User Space

Dynamic loading and symbols

Explicit library load example:

int add(int,int);

int main()
	int (*fptr)(int,int);
	void *libh=dlopen("",RTLD_LAZY);
	if(libh == NULL)
		puts("Error loading library");
	if(fptr == NULL)
		puts("Error finding function");
	printf("sum = %d\n",fptr(20,10));
	return 0;


Write the following as a library in a C file (test1.c):

int add(int a,int b)
	return a+b;

int sub(int a,int b)
	return a-b;
  • Compile the library and use the test code to load it 
  • Set the LD_LIBRARY_PATH var
  • Change the library code to c++ (test1.cpp) and fix the code to load it


{{CommentsModel.TotalCount}} Comments

Your Comment


Recent Stories

Top DiscoverSDK Experts

User photo
Ashton Torrence
Web and Windows developer
GUI | Web and 11 more
View Profile
User photo
Mendy Bennett
Experienced with Ad network & Ad servers.
Mobile | Ad Networks and 1 more
View Profile
User photo
Karen Fitzgerald
7 years in Cross-Platform development.
Mobile | Cross Platform Frameworks
View Profile
Show All

Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.


Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now