1.Windows ä¸ä¸è§åçªä½çç¼ç¨å®ç°
2.本人是窗窗体程序学程序设计的,想了解下最基本的体源程序源码,怎样变成像WINDOWS上这样窗口化的应用软件?
3.C语言C++图形库---贪吃蛇大作战附源码
4.c源码如何反编译
5.网上下载的C课程设计源代码如何能运行出结果啊
Windows ä¸ä¸è§åçªä½çç¼ç¨å®ç°
ããWindows ä¸ä¸è§åçªä½çç¼ç¨å®ç° ä¸è½½æºä»£ç ä¸ åºè¨ ããå¨ç»å¤§å¤æ°çWindowsåºç¨ç¨åºä¸ å ¶çªä½é½æ¯ä½¿ç¨çæ£è§æ£ç©çç©å½¢çªä½ ä¾å¦æ们常ç¨ç è®°äºæ¬ æ«é· çç ç©å½¢çªä½ å ·æç¼ç¨å®ç°ç®å é£æ ¼ç®æ´çä¼ç¹ æ以å¨æ®éææ¡£åºç¨ç¨åºåç®åå°æ¸¸æä¸ä½¿ç¨è¶³ç£ ä½å¨æäºå¨±ä¹æ¸¸æç¨åºä¸ä½¿ç¨å°±ç¥æ¾åæ¿äºäº è¿æ¶è¥ç¨ä¸è§åçªä½æ¿ä»£åå çç©å½¢çªä½ å°ä¼ä½¿è¿ç±»ç¨åºæ´æ·»æ 趣 å ¸åçä¾åæwindows èªä»£çMedia Player æ°çæ¬çMedia Playeræ个æ§å¶é¢æ¿çé项 éä¸è¿äºé¢æ¿ ææ¾å¨å°±ä»¥éä¸çé¢æ¿å½¢ç¶åºç° è¿æ¶çææ¾å¨æ¯ä»¥åçæ¬çMedia Playerçå¤èç©å½¢çé¢è¦çå¨æ趣çå¤äº è¦å®ç°ä¸è§åçªä½ä¸æ¯å¤ªé¾ ç¥éäºåºæ¬åçå ä½ ä¹å¯ä»¥å建åç§æ趣çä¸è§åçªä½ äº å®ç°åç ããææç Windows çªä½é½ä½äºä¸ä¸ªç§°ä¸º region ä¸ çªä½ç大å°å¦æè¶ åº region çèå´ windowsä¼èªå¨è£åªè¶ åº"region"èå´é£é¨åççªä½ ä½¿å ¶ä¸å¯è§ æ以 è¦å建ä¸è§åçªä½æ两个æ¥éª¤ 第ä¸æ¥å°±æ¯å建ä¸è§å"region" 第äºæ¥å°±æ¯å°çªä½æ¾å°å建ç region ä¸ ããå ¶ä¸ç¬¬äºæ¥å¾ç®åå°±è°ç¨ä¸æ¡è¯å¥å³å¯ å¨SDKä¸è°ç¨APIå½æ°SetWindowRgn 该å½æ°ååå¦ä¸ããint SetWindowRgn( HWND hWnd HRGN hRgn BOOL bRedraw );
ããå ¶ä¸hWndä¸ºå¾ è®¾ç½®ççªä½å¥æ hRgn为已ç»å建ç"region"å¥æ bRedraw代表æ¯å¦è¦éç»çªä½ å¨MFCä¸ä½¿ç¨çªå£ç±»CWndçæåå½æ°int CWnd::SetWindowRgnï¼HRGN hRgn BOOL bRedraw );该å½æ°çåæ°æä¹ä¸APIä¸ååå½æ°ç¸å ããç¸å¯¹ä¸ç¬¬äºæ¥ å建ä¸è§åçªä½ç第ä¸æ¥è¦å¤æè®¸å¤ å¹¶ä¸ä¸è§åçªä½è¶å¤æ åå»ºå ¶"region"çè¿ç¨ä¹è¶å¤æ æ¥ä¸å»æ们å°ç±æµ å ¥æ·±å°ä»ç»åç§å建 region çæ¹æ³ ããå¨MFCä¸"region"对象 ç±CRgnç±»å®ç° CRgnçå ä¹æ¯ä¸ªæåå½æ°é½æååçSDK APIå½æ°å¯¹åº ä¸ ç®å region çå建 ããç±»CRgnå建ä¸ä¸ªæ°ç"region"çç®åæ¹æ³æ以ä¸å 个æåå½æ°
BOOL CRgn::CreateRectRgn( int x int y int x int y ); å建ç©å½¢ç region
BOOL CRgn::CreateEllipticRgn( int x int y int x int y ); å建åå½¢ææ¤åå½¢ region
BOOL CRgn::CreateRoundRectRgn( int x int y int x int y int x int y ); å建åè§ç©å½¢ region
BOOL CRgn::CreatePolygonRgn( LPPOINT lpPoints int nCount int nMode ); å建å¤è¾¹å½¢ region
ããè¿é以å建æ¤åçªä½ä¸ºä¾ ä»ç»æ¤åçªä½å建çæ¹æ³ å¨å建æ¤å region çCreateEllipticRgnå½æ°ä¸ x y ææ¤åæå¨ç©å½¢çå·¦ä¸è§åæ x y æ该ç©å½¢çå³ä¸è§åæ ããä¸é¢ç代ç å å ¥å°MFC对è¯æ¡ç¨åºçOnInitDialogå½æ°ä¸ å¯å°è¯¥å¯¹è¯æ¡åææ¤åçªä½
ããBOOL CTestDlg::OnInitDialog(){ CDialog::OnInitDialog(); CRgn rgn; rgn CreateEllipticRgn( ); SetWindowRgn(rgn TRUE);}
å¾ä¸ æ¤åçªä½ææå¾ å ä½å¾è·¯å¾æ³å建 region 使ç¨è¯¥æ¹æ³å建 region çè¿ç¨å¦ä¸ 第ä¸æ¥ç»å¶æè¦å建ççªä½å½¢ç¶ 该æ¥éª¤ä¸ä½¿ç¨å°CDCç±»ä¸çä¸äºæåå½æ°å¦ä¸ããBOOL CDC::BeginPath( );
ããè°ç¨è¯¥å½æ°åå½å设å¤ç¯å¢(DC)å¼å§è¿½è¸ªç»å¾çè¿ç¨
ããint CDC::SetBkMode( int nBkMode );
ãã设置ç»å¾æ¶çèæ¯æ¨¡å¼ æ¤åºç¨ä¸nBkModeå¿ é¡»åå¼ä¸ºTRANSPARENT å³è®¾ç½®ç»å¾æ¶èæ¯ä¸åçåå
ããBOOL CDC::EndPath( );
ããè°ç¨è¯¥å½æ°åå½å设å¤ç¯å¢(DC)ç»æ追踪ç»å¾çè¿ç¨ ããå¼å§ç»å¾å å è°ç¨BeginPath ç¶åè°ç¨SetBkMode æ¥ä¸å»å°±å¯è°ç¨CDCçå ¶ä»ç»å¾å½æ°ä½å¾ ä¾å¦Arc AngleArc LineTo MoveTo RoundRect Textoutçç ç»å¾å®æ¯è°ç¨EndPath() 第äºæ¥å°ç»å¶çç»æ转æ region æ¤æ¥éª¤ä¸ä½¿ç¨SDK APIå½æ°
ããHRGN PathToRegion( HDC hdc );
ããHdc为ä½å¾DCçå¥æ CDCç±»ä¸çm_hDCæååéå¯åæ¤åæ°ä¼ å ¥ ç¤ºä¾ å°ä¸é¢ä»£ç å å ¥æ个æé®åå»äºä»¶ä¸ å¯ä»¥å°å½åçªä½å为å符串 hello çå½¢ç¶
ããvoid CTestDlg::OnTest() { HRGN wndRgn; CClientDC dc(this); CFont mFont; if (dc m_hDC!=NULL) { VERIFY(mFont CreateFont( FW_HEAVY TRUE FALSE ANS
lishixinzhi/Article/program/c//本人是学程序设计的,想了解下最基本的教程程序源码,怎样变成像WINDOWS上这样窗口化的窗窗体程序软件?
呵呵,一年半前我和你一样,体源农业币源码也处于这个状态,应用如果你做windows的教程程序设计的话,编程像windows这样的窗窗体程序窗口化的软件,你必须接触VS,体源旗下的应用VC++或VC#,你学完c和c++先接触VC++的教程MFC较为容易,使用MFC APP向导可以直接生成你所说的窗窗体程序免责声明+源码windows这样窗口程序,刚开始你是体源不知道如何生成的,为此你需要边学windows程序设计,应用建议使用《windows程序设计》,里面介绍了一个基本窗体生成的原理和步骤。如果你要学VC#,那你得先学C#,离做一个windows这样窗口程序比较远,而且也不知道它生成的原理,当然既然c和c++学的不错的话,c#入门也不难。如下是一个窗体生成的windows源码:
/*--------------------------------------
CLOCK.C -- Analog Clock Program
(c) Charles Petzold,
--------------------------------------*/
#include <windows.h>
#include <math.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("Clock") ;
HWND hwnd;
MSG msg;
WNDCLASS wndclass ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = NULL ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("Program requires Windows NT!"),
szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow (szAppName, TEXT ("GDI Test"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HDC hdc;
static PAINTSTRUCT ps;
static COLORREF color;
static UINT ixClient,iyClient;
static RECT rtWindow , rtClient;
switch (message)
{
case WM_CREATE :
GetWindowRect( hwnd , &rtWindow );
GetClientRect( hwnd , &rtClient );
return 0 ;
case WM_NCPAINT:
hdc = GetWindowDC( hwnd );
color = GetPixel( hdc , , 5 );
SetBkColor( hdc , color );
SetTextColor( hdc , RGB(,0,0) );
TextOut( hdc , , ,
"Editor : CM" , strlen("Editor : CM") );
ReleaseDC( hwnd , hdc );
return 0;
case WM_SIZE :
ixClient = LOWORD( wParam );
iyClient = HIWORD( wParam );
return 0 ;
case WM_TIMER :
return 0 ;
case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
TextOut( hdc , , , "Editor : CM" , strlen("Editor : CM") );
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY :
PostQuitMessage(0);
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
C语言C++图形库---贪吃蛇大作战附源码
设计一款经典小游戏——贪吃蛇,从创建窗体、软件源码+商城定位网格、绘制蛇节点、移动蛇节点、控制移动方向、创建食物到最后实现吃掉食物并长大、结束游戏的逻辑,每一步都需精心规划。
首先,创建一个 * 的窗体,使用默认坐标系,设置背景色并清空窗体。
接着,自建溯源码将窗体水平分隔为等分,垂直分隔为等分,构建网格坐标系统。在游戏界面,用5格白色的矩形表示蛇,用**的一格矩形表示食物。
绘制网格线,水平线从x坐标0至,垂直线从y坐标0至,每条线段间隔为像素,以方便观察。
定义函数paintGrid,fftw 源码 分析封装绘制网格的代码,主函数中调用此函数,给窗体绘制网格。
定义蛇节点结构,包含x、y坐标,并使用数组表示蛇的多个节点。初始化蛇节点数组,设定初始状态下的蛇节点数量和位置。
定义函数paintSnake,用于绘制蛇的所有节点。在主函数中,声明数组并调用相关函数绘制网格和蛇。
实现蛇节点的移动逻辑,定义函数snakeMove,根据蛇头坐标和移动方向,依次移动蛇节点并设置新蛇头。主函数中循环执行移动操作。
加入键盘控制蛇的移动方向,通过键盘输入改变蛇的前进方向。主函数中,循环读取键盘输入并更新蛇的移动方向。
创建食物,定义函数createFood,随机生成食物位置,确保不与蛇的任何节点重合。主函数中,调用此函数并在界面显示食物。
实现吃掉食物后蛇长大逻辑,在snakeMove函数中判断蛇头与食物重合,若重合则蛇长度加1,并重新生成食物。
检查游戏结束条件,若蛇头触及窗体边界或吃掉自身,游戏结束。定义函数isGameOver,主函数中判断游戏状态并复位。
完整源码及学习资源请加入群获取,群内有学习资料和讨论机会,适合正在学习C/C++的小伙伴。
c源码如何反编译
C语言源码的反编译是一个复杂且通常不完全可逆的过程。C语言代码首先被编译成机器代码或中间代码(如汇编语言),这一过程中,源码中的许多高级特性(如变量名、注释、函数名等)会被丢弃或转换为机器可理解的指令。因此,直接从编译后的可执行文件或库文件“反编译”回原始的C源码是不可能的,尤其是当编译时开启了优化选项时。
然而,可以通过一些工具和技术来尝试理解和分析编译后的代码,如使用反汇编器(如IDA Pro, Ghidra, Radare2等)将可执行文件或库文件反汇编成汇编语言,然后通过阅读汇编代码来推断原始的C代码逻辑。此外,还有符号恢复技术可以用来恢复一些函数名和变量名,但这通常需要额外的符号表信息或调试信息。
总的来说,虽然不能直接反编译成原始的C源码,但可以通过上述方法获得对程序行为的深入理解。对于版权和法律保护的原因,反编译通常受到严格限制,特别是在没有授权的情况下对软件进行逆向工程。
网上下载的C课程设计源代码如何能运行出结果啊
文件——>新建——>工程(projects)——>Win Console Application(Win 控制台应用程序),在右侧填好工程名,点击确定(ok),再点击完成(finish)。接下来,文件——>新建——》文件(files)——》C++ Header Files(C++头文件)——》在右侧填好文件名,点击确定(ok)
接下来,按F7键(即编译)——》最后按ctrl+F5键(即运行),运行结果见下图。
楼主初学?