mirror of
https://github.com/ioacademy-jikim/multimedia
synced 2026-08-21 21:33:00 +00:00
멀티미디어 예제
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
#include "main.h"
|
||||
|
||||
|
||||
int my_atoi(char *buff)
|
||||
{
|
||||
int i, sum=0;
|
||||
for(i=0; buff[i]; i++ )
|
||||
sum = sum*10 + buff[i] - '0';
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
||||
|
||||
int my_add(int a, int b )
|
||||
{
|
||||
return a+b;
|
||||
}
|
||||
|
||||
|
||||
struct _HMI HMI = { my_atoi, my_add, 10 };
|
||||
@@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int *global;
|
||||
int (*func)(char*);
|
||||
int (*add)(int,int);
|
||||
int data;
|
||||
void *handle = dlopen("libatoi.so", RTLD_LAZY);
|
||||
|
||||
func = dlsym( handle, "my_atoi" );
|
||||
data = func("123");
|
||||
printf("data=%d\n", data );
|
||||
|
||||
add = dlsym( handle, "my_add" );
|
||||
data = add(1,2);
|
||||
printf("data=%d\n", data );
|
||||
|
||||
*global = dlsym( handle, "global" );
|
||||
data = add(1,2);
|
||||
printf("data=%d\n", data );
|
||||
dlclose(handle);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
int my_atoi(char *buff);
|
||||
int my_add(int a, int b);
|
||||
|
||||
struct _HMI
|
||||
{
|
||||
int (*atoi)(char *buff);
|
||||
int (*add)(int , int );
|
||||
int global;
|
||||
};
|
||||
Reference in New Issue
Block a user