Dynamic loading and symbols
Explicit library load example:
#include<stdio.h>
#include<stdlib.h>
#include<dlfcn.h>
int add(int,int);
int main()
{
	int (*fptr)(int,int);
	void *libh=dlopen("libdemo1.so",RTLD_LAZY);
	if(libh == NULL)
	{
		puts("Error loading library");
		exit(0);
	}
	fptr=dlsym(libh,"add");
	if(fptr == NULL)
	{
		puts("Error finding function");
		exit(0);
	}
	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
 
Recent Stories
Top DiscoverSDK Experts
            
            Mendy Bennett
                Experienced with Ad network & Ad servers.
                
Mobile | Ad Networks and 1 more
            
                View Profile
            
            
            Karen Fitzgerald
                7 years in Cross-Platform development.
                
Mobile | Cross Platform Frameworks
            
                View Profile
            X
        Compare Products
Select up to three two products to compare by clicking on the compare icon () of each product.
{{compareToolModel.Error}}Now comparing:
{{product.ProductName | createSubstring:25}} X
        
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                                
                                
            
    
    
    
{{CommentsModel.TotalCount}} Comments
Your Comment