¡¶win32»ã±à¡·Ê±ÖÓÖ®C´úÂë
#include <Windows.h>
#include <math.h>
#include "resource.h"
#define PI 3.1415976/180
int dwCenterX,dwCenterY,dwRadius;
const TCHAR *szAppName=TEXT("Clock");
LRESULT CALLBACK ProcWinMain(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
void ShowTime(HWND hwnd,HDC hdc);
void CalcClockParam(HWND hwnd);
void DrawDot(HDC hdc,int dwDegreeInc,int dwSmallRadius);
int CalX(double dwNowDegreen,int dwR);
int CalY(double dwNowDegreen,int dwR);
void DrawLine(HDC hdc,double dwDegreen,int dwRadiusAdjust);
int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd )
{
WNDCLASS wc;
MSG msg;
HWND hwnd;
RtlZeroMemory(&wc,sizeof(WNDCLASS));
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor=LoadCursor(hInstance,IDC_ARROW);
wc.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(ICO_MAIN));
wc.hInstance=hInstance;
wc.lpfnWndProc=ProcWinMain;
wc.lpszClassName=szAppName;
wc.lpszMenuName=NULL;
wc.style=0;
if(!RegisterClass(&wc))
{
MessageBox(NULL,TEXT("It's required for Windows NT!"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindowEx(WS_EX_CLIENTEDGE,
szAppName,szAppName,WS_OVERLAPPEDWINDOW,
100,100,250,270,
NULL,NULL,hInstance,NULL
);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK ProcWinMain(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (message)
{
case WM_TIMER:
InvalidateRect(hwnd,NULL,TRUE);
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
ShowTime(hwnd,hdc);
EndPaint(hwnd,&ps);
return 0;
case WM_CREATE:
SetTimer(hwnd,ID_TIMER,1000,NULL);
return 0;
case WM_CLOSE:
KillTimer(hwnd,ID_TIMER);
DestroyWindow(hwnd);
PostQuitMessage(0);
retur
Ïà¹ØÎĵµ£º
extern³ýÁËÄܹ»ÓÃÓÚÉùÃ÷±äÁ¿£¬ÒѾÔÚÍⲿ±»¶¨Ò壬²»ÓÃÖØÐ¶¨ÒåºÍ·ÖÅäÄÚ´æ¿Õ¼ä£¬»¹¿ÉÒÔÔÚC++ÓëC½øÐÐÏ໥º¯Êýµ÷Ó÷½Ãæ»áÓкܴóµÄÓô¦¡£
Ê×ÏÈ£¬ÎÒÃÇÀ´¿´Ò»Ï£¬ÎªÊ²Ã´C++ºÍCÓïÑÔ²»ÄÜÏ໥½øÐк¯Êýµ÷Óãº
±àдÈçϵÄÔ´Îļþ£º
int func(int i)
{
return 1;
}
&nbs ......
ʲôÊǽṹÌ壿
¼òµ¥µÄÀ´Ëµ£¬½á¹¹Ìå¾ÍÊÇÒ»¸ö¿ÉÒÔ°üº¬²»Í¬Êý¾ÝÀàÐ͵ÄÒ»¸ö½á¹¹£¬ËüÊÇÒ»ÖÖ¿ÉÒÔ×Ô¼º¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ËüµÄÌØµãºÍÊý×éÖ÷ÒªÓÐ
Á½µã²»Í¬£¬Ê×ÏȽṹÌå¿ÉÒÔ
ÔÚÒ»¸ö½á¹¹ÖÐÉùÃ÷²»Í¬µÄÊý¾ÝÀàÐÍ£¬µÚ¶þÏàͬ½á¹¹µÄ½á¹¹Ìå±äÁ¿ÊÇ¿ÉÒÔÏ໥¸³ÖµµÄ£¬¶øÊý×éÊÇ×ö²»µ½µÄ£¬ÒòΪÊý×éÊǵ¥Ò»Êý¾ÝÀàÐ͵ÄÊý¾Ý¼¯ºÏ£¬Ëü±¾Éí²»ÊÇÊý¾ÝÀàÐÍ ......
½øÈëandroid shellºó»á´òÓ¡£º
sh: can't access tty; job control turned off
ÊäÈëtab¼üûÓв¹È«£¬ÊäÈëctrl+cûÓÐÖÕÖ¹µ½ÏÂÒ»ÐУ¬¶øÊÇÊäÈëÒ»¸öÂÒÆß°ËÔãµÄ×Ö·û£¬
ûÓÐcpÃüÁîµÈµÈµÈµÈ£¬
Äã»á·¢ÏÖ£¬ÕâËûÂ軹ÊÇlinuxÂð,ÕâÈÕ×Óû·¨¹ýÁË£¬¼òÖ±£¡
ÒªÖ§³ÖһЩ³£ÓõÄÃüÁ
ÐèÒªÖØÐ±àÒëÒ»¸öbusybox£¬
make menuconfig
ÏÈÑ¡Ôñ ......
ÔÚºÏ×÷¿ª·¢Ê±£¬C#ʱ³£ÐèÒªµ÷ÓÃC++DLL£¬µ±´«µÝ²ÎÊýʱʱ³£Óöµ½ÎÊÌ⣬ÓÈÆäÊÇ´«µÝºÍ·µ»Ø×Ö·û´®ÊÇ£¬ÏÖ×ܽáһϣ¬·ÖÏí¸ø´ó¼Ò£º
VC++ÖÐÖ÷Òª×Ö·û´®ÀàÐÍΪ£ºLPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTRµÈ
µ«×ªÎªC#ÀàÐÍÈ´²»ÍêÈ«Ïàͬ¡£
Ö÷ÒªÓÐÈçϼ¸ÖÖת»»£º
½«stringתΪIntPtr£ºIntPtr System.Runtime.InteropServ ......
1.ÔÚc³ÌÐòµ÷ÓÃc³ÌÐòºÍc++³ÌÐòµ÷ÓÃc++³ÌÐòʱ£¬²»Éæ¼°¡£
2.ÔÚc³ÌÐòµ÷ÓÃc++³ÌÐòʱ£¬C++µÄÍ·ÎļþÐèÌí¼Óextern "C"£¬µ«ÊÇÔÚCÓïÑÔÖв»ÄÜÖ±½ÓÒýÓÃÉùÃ÷ÁËextern "C"µÄ¸ÃÍ·Îļþ£¬Ó¦¸Ã½ö½«CÎļþÖн«C++Öж¨ÒåµÄextern "C"º¯ÊýÉùÃ÷ΪexternÀàÐÍ¡£
3.ÔÚc++³ÌÐòµ÷ÓÃc³ÌÐòʱ£¬ÔÚ°üº¬CÓïÑÔÍ·Îļþ£¨¼ÙÉèΪcExample.h£©Ê±£¬Ðè½øÐÐÏÂÁд¦Àí£ ......