がんばって英語で書くブログ
英語勉強中なので、ブログも英語で書こうかと。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

programming memo
this is my programming memo.

how do I use dlXXXX().

------------------------------------------------------------------
#include <dlfcn.h>

int main(int argc, char **argv)
{
int (*f)(char *);
void *v;

char *p;

v = dlopen("/home/hoge/lib/libhoge.so", RTLD_LAZY);
if (!v) {
perror("dlopen");
return -1;
}

f = (int (*)(char *)) dlsym(v, "hello");
if ((p = dlerror()) != NULL) {
perror("dlsym");
return -1;
}

f("hogehoge");

dlclose(v);

return 0;
}

------------------------------------------------------------------
#include "hoge.h"

int hello(char *name)
{
return printf("hello %s\n", name);
}

------------------------------------------------------------------

#ifndef HOGE_H
#define HOGE_H 1

#include <stdio.h>

int hello(char *name);

#endif /* HOGE_H */
------------------------------------------------------------------


this is not so difficult.

if you need hook other library function, you can use this technics.

スポンサーサイト

この記事に対するコメント

この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
トラックバックURL
→http://foobar.blog23.fc2.com/tb.php/31-8ea7ef08
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。