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¡£
Ïà¹ØÎĵµ£º
·À»ðǽÏàÓ¦¶Ë¿ÚûÓдò¿ª¡£
´ò¿ª·½·¨ÈçÏ£º
vi /etc/sysconfig/iptables
¼ÓÈëÈçϵÄÒ»ÐУº
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
ÖØÆôiptables:
/etc/init.d/iptables restart
²é¿´¶Ë¿ÚÊÇ·ñÕæµÄ´ò¿ª:
/etc/init.d/iptables status ......
´´½¨Ê±¼ä£º2010-01-27
×÷ÕߣºSteven Yang
E-mail£ºmqyoung@gmail.com
ΪÁ˸ßЧµÄ¶Ôkernel½øÐе÷ÊÔ£¬×÷ÕßÔÚʵÑéÊÒÀûÓÃÒÑÓеÄ×ÊÔ´½øÐл·¾³ÅäÖá£Ê×ÏÈÊÇÓ²¼þ»·¾³£¬ÎÒÓÐÁ½¸öPC£¬
Ò»¸öÊÇP III£¬Debian£¨Target£©
Ò»¸öÊÇAMD 64£¬Ubuntu£¨Developer£©
Ҫͨ¹ýDeveloperµ÷ÊÔTarget£ ......
1¡¢Ð½¨Ä¿Â¼qthello,²¢½øÈëqthelloĿ¼
mkdir qthello
cd qthello
×¢Ò⣺Qt ³ÌÐòÏîÄ¿²»ÄÜÒÔ "qt"¡¢“qt-mt”¡¢“qte” µÈ×÷ΪÆä¶¥¼¶Ä¿Â¼Ãû£¬·ñÔò±àÒëʱ»á·¢Éú´íÎó¡£
½¨Á¢Ô´Îļþhello.cpp,²¢ÊäÈëÏÂÁÐÄÚÈÝ£¬È»ºó±£´æ¡£
#include <QApplication>
#include <QLabel>
int main (int arg ......
¡¾Ç¶ÈëʽLinuxѧϰÆß²½ÇúÖ®µÚÎåÆª LinuxÄں˼°Çý¶¯±à³Ì¡¿È«Ãæ½âÎöLinuxÄں˵Äͬ²½Ó뻥³â»úÖÆ--ͬ²½Æª ÊÕ²Ø
Powered by CSDN Blog
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/sailor_8318/archive/2008/06/30/2599357.aspx ......
ÄÚ´æ¿ØÖÆÆª
calloc
free
getpagesize
malloc
mmap
munmap
calloc£¨ÅäÖÃÄÚ´æ¿Õ¼ä£©
Ïà¹Øº¯Êý
malloc£¬free£¬realloc£¬brk
±íÍ·Îļþ
#include <stdlib.h>
¶¨Ò庯Êý
void *calloc(size_t nmemb£¬size_t size);
º¯Êý˵Ã÷
calloc()ÓÃÀ´ÅäÖÃnmemb¸öÏàÁÚµÄÄڴ浥λ£¬Ã¿Ò»µ¥Î»µÄ´óСΪsize£¬²¢·µ»ØÖ¸ÏòµÚ ......