Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Òþ²Ø½ø³ÌµÄÔ´´úÂë(c/c++ʵÏÖ)!

²ÉÓÃ×¢Èëµ½ÆäËû½ø³ÌµÄ·½·¨À´Òþ²Ø×Ô¼ºµÄ½ø³Ì¡£¾ÍÊÇ˵£¬°ÑÄãÏë×öµÄÊÂÇé¼ÄÉúµ½±ðÈ˵Ľø³ÌÀïÃæ¡£±ÈÈçIEʲôµÄ¡£¹ØÓÚ×¢ÈëµÄ·½·¨ºÜ¶à£¬ÏÂÃæÎÒ¸øÄãÒ»¸öDLL×¢ÈëµÄ·½·¨£¬Õâ¸öÊÇÎÒ×öijÍâ¹ÒʱÓùýµÄ´úÂ룬Äã²Î¿¼Ò»Ï°ѡ£
int APIENTRY _tWinMain( HINSTANCE hInstance,
                        HINSTANCE hPrevInstance,
                        LPTSTR    lpCmdLine,
                        int       nCmdShow)
{
TCHAR szCommandLine[]  _T("Ä¿±ê½ø³Ì");
TCHAR szCurPath[] = _T("µ±Ç°Ä¿Â¼");
WCHAR szTagetDLLName[256] = L"Ä¿±êDLL";
PWSTR pszRemoteDLLName    = NULL;
HANDLE hRemoteThread      =     NULL;
STARTUPINFO StartupInfo   = { sizeof(StartupInfo) };
PROCESS_INFORMATION ProcessInfo = { 0 };
PTHREAD_START_ROUTINE pfnLoadLibraryAddress  = NULL;
HANDLE hTheFileMaping = NULL;
LPREMOTEDATA pTheRemoteData = NULL;
__try
{
  //»ñµÃ±¾µØ½ø³Ì·¾¶Ãû³Æ
  GetModuleFileNameW(hInstance, szTagetDLLName, 256);
 
  //»ñµÃÄ¿±êDLL·¾¶Ãû³Æ£¬¼Ù¶¨Ä¿±êDLL±¾µØ½ø³ÌÔÚͬһ¸öĿ¼¡£
  WCHAR * p = szTagetDLLName + lstrlenW(szTagetDLLName) - 1;
  while( (*p != L'\\') && (p != szTagetDLLName) )
   p --;
  p ++;
  *p = L'\0';
  lstrcatW(szTagetDLLName, L"TagetDll.DLL");
 
  //»ñÈ¡LoadLibraryWÔÚKernel32.DLLÖеĵØÖ·£¬ÓÃÓÚ×÷ΪԶÏ̵߳ÄÈë¿ÚµØÖ·¡£
  pfnLoadLibraryAddress = ( PTHREAD_START_ROUTINE )
        GetProcAddress( GetModuleHandle( _T("Kernel32") ), "LoadLibraryW" );
  if( NULL == pfnLoadLibraryAddress )
  


Ïà¹ØÎĵµ£º

C#¶¯Ì¬µ÷ÓÃC++±àдµÄDLLº¯Êý


¶¯Ì¬¼ÓÔØDLLÐèҪʹÓÃWindows APIº¯Êý£ºLoadLibrary¡¢GetProcAddressÒÔ¼°FreeLibrary¡£ÎÒÃÇ¿ÉÒÔʹÓÃDllImportÔÚC#ÖÐʹÓÃÕâÈý¸öº¯Êý¡£

[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);

[DllImport("Kernel32")]
public static extern int L ......

ÿÈÕC(3.Linux³£ÓÃCº¯Êý ÄÚ´æ¿ØÖÆÆª)

ÄÚ´æ¿ØÖÆÆª
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£¬²¢·µ»ØÖ¸ÏòµÚ ......

ÿÈÕC(4.×Ö·û´®×ª»»Æª)

×Ö·û´®×ª»»Æª
atof
atoi
atol
gcvt
strtod
strtol
strtoul
toascii
tolower
toupper
atof£¨½«×Ö·û´®×ª»»³É¸¡µãÐÍÊý£©
Ïà¹Øº¯Êý
atoi£¬atol£¬strtod£¬strtol£¬strtoul
±íÍ·Îļþ
#include <stdlib.h>
¶¨Ò庯Êý
double atof(const char *nptr);
º¯Êý˵Ã÷
atof()»áɨÃè²ÎÊýnptr×Ö·û´®£¬Ìø¹ýÇ°Ãæµ ......

Linux c/c++ ¿ª·¢¹¤¾ß¼¯½õ

ÎÒ֮ǰÊÇÒ»¸öC³ÌÐòÔ±£¬¶øÇÒÊǸöWindowsµÄ³ÌÐòÔ±£¬ÔÚwindowsÏÂʹÓÃVC6.0/VS2005µÈmicrosoftµÄɵ¹Ïʽ¹¤¾ß¹¤×÷£¬
¶ÔÓÚÄǸövc 6.0/vs2005µÄ¿ì½Ý²Ù×÷£¬debug²Ù×÷ÊÇÄÇôµÄÊìϤ£¬¿ÉÒÔ˵vc
6.0/vs2005ÊÇwindowÏ¿ª·¢c/c++×îºÃÓõŤ¾ßÁË£¬¿ÉÒԲ鿴µ÷ÓöÑÕ»£¬ÄÚ´æ±ä»¯Çé¿ö£¬±äÁ¿Öµ£¬ÁíÍâ°²×° visual assist
xºóÈÃVC¿´ÆðÀ´ÊÇÄÇô ......

»ùÓÚs3c2410ºÍǶÈëʽLinuxµÄD/Aת»»µÄʵÏÖ


1 ÒýÑÔ
ÔÚǶÈëʽӦÓÃϵͳÖУ¬ÌرðÊÇÖÇÄÜÒÇÆ÷¡¢ÒÇ±í¡¢»úµçÉ豸¼°×°ÖÿØÖÆÖУ¬ÐèҪʹÓÃA/Dת»»½«Ä£ÄâµÄµçÁ¿ÐźÅת»»ÎªÊý×ÖÐźŽøÐд¦Àí£¬¶øºóÔÙ½«´¦ÀíµÄ½á¹ûͨ¹ýD/Aת»»ÎªÄ£ÄâÁ¿ÊµÏÖ¶Ô±»¿Ø¹ý³ÌºÍ¶ÔÏóµÄ¿ØÖÆ[1]¡£
»ùÓÚARM920TÄں˵Äs3c2410ÊÇÒ»¿îµÍ¹¦ºÄ£¬¸ßÐԼ۱ȵĴ¦ÀíÆ÷[2]¡£Õâ¿î´¦ÀíÆ÷ÄÚ²¿¼¯³ÉÁ˶àÖÖ¿ØÖƽӿڣ¬×Ô´ø8·1 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ