Linuxƽ̨É϶¯Ì¬Á´½Ó¿âµÄ´´½¨Óë¼ÓÔØ
ÔÚ¶Ájvm´úÂëʱ£¬Ñ§Ï°Á˶ÁÈ¡¶¯Ì¬Á´½Ó¿âµÄ·½·¨¡£ÏÂÃæ¾Í.soÎļþµÄ´´½¨ºÍ¶ÁÈ¡×öÒ»¸ö¼òµ¥µÄ×ܽᡣ
1.´´½¨.soÎļþ
add.h
#ifndef ADD_H
#define ADD_H
int add(int arg1,int arg2);
#endif
add.c
#include "add.h"
int add(int arg1,int arg2)
{
return arg1 + arg2;
}
±àÒëΪ.oÎļþ:
gcc -fPIC -c add.c
Éú³É¿âÎļþ£º
gcc -shared -Wl,-soname,libadd.so.1 -o libadd.so.1.0 add.o
cp libadd.so.1.0 libadd.so
ÕâÑù¾ÍÉú³ÉÁËlibadd.so¿âÎļþ¡£ÐÞ¸ÄLD_LIBRARY_PATH,½«libadd.so¼ÓÈ뵽·¾¶ÖС£
2.¼ÓÔØ.soÎļþ£¬µ÷Óú¯Êý¡£
dltest.c,²Î¿¼man 3 dlopen °ïÖúÎļþÖеÄÀý×Ó¡£
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
int main(int argc, char **argv)
{
void *handle;
int (*add)(int,int);
char *error;
handle = dlopen ("libadd.so", RTLD_LAZY);
if (!handle) {
fprintf (stderr, "%s\n", dlerror());
exit(1);
}
dlerror(); /* Clear any existing error */
add = dlsym(handle, "add");
if ((error = dlerror()) != NULL) {
fprintf (stderr, "%s\n", error);
exit(1);
}
printf ("%d\n", add(3,5));
dlclose(handle);
return 0;
}
±àÒ룺
gcc -rdynamic -o dltest dltest.c -ldl
Ö´ÐÐdltestµÃµ½½á¹ûΪ8¡£
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
www.csdn.net
www.linux.org
www.chinaunix.net
http://www.loveunix.net/
http://www.linuxsir.org/main/
http://www.linuxforum.net/
http://www.codeproject.com/
http://www.codeplex.com/
http://sourceforge.net/
python:
http://www.python.org/
agile:
http://www.thoughtworks.com/ ......
LinuxϽ¨ÒéµÄÃüÃû¹æÔòÈçÏ¡£
£¨1£©±äÁ¿Ãû±ØÐëÓÐÒ»¶¨µÄÒâÒ壬²¢ÇÒÒâÒå׼ȷ¡£ÀýÈçÓÐÒ»¸ö±äÁ¿ÓÃÓÚ±£´æÍ¼ÊéµÄÊýÄ¿£¬¿ÉÒÔÃüÃûΪnumber_of_book»òÕßnum_of_book¡£²»½¨ÒéʹÓÃi£¬ÒòΪËüûÓÐÒâÒå¡£Ò²²»½¨ÒéʹÓÃnumber»òbook£¬ÒòΪÒâÒ岻׼ȷ¡£
£¨2£©²»½¨Òé´óСд»ìÓá£È綨ÒåÒ»¸ö¼ÆÊý±äÁ¿£¬int nCount£»ÕâÔÚWindowsÖÐÊÇÒ»¸öºÜºÃ ......
1¡¢ÕýÔò±í´ïʽ£ºÒ»ÖÖÓÃÀ´ÃèÊöÎı¾Ä£Ê½µÄÌØÊâÓï·¨¡£
2¡¢»ù±¾Ôª×Ö·û¼¯¼°Æäº¬Òå
^ ֻƥÅäÐÐÊ×
$ ֻƥÅäÐÐβ
* Æ¥Åä0¸ö»ò¶à¸öµ¥×Ö·û
[] ֻƥÅä[]ÄÚ×Ö·û¡£¿ÉÒÔÊÇÒ»¸öµ¥×Ö·û£¬Ò²¿ÉÒÔÊÇ×Ö·ûÐòÁС£¿ÉÒÔʹÓÃ-± ......