您当前的位置:首页 > 互联网教程

C语言和windows程序设计有什么关系

发布时间:2025-05-18 08:58:09    发布人:远客网络

C语言和windows程序设计有什么关系

一、C语言和windows程序设计有什么关系

没有直接关系。C语言是一种程序设计语言,windows程序设计是指特定一种环境。

C是语言,windows程序设计在Windows平台的程序设计,语言不限定(VB C# JAVA Delphi等),用的函数就是一些Windows API,就是只能运行在Windows平台下的程序,一般是带窗口的,当然控制台的也是,只要符合只能运行在windows下(用了Win32 API)。Windows的入口函数是WinMain但是,可以可以把WinMain封装成main。这个没什么太大的关系,QT GUI编程就是如此,但是入口函数就是main。

c语言是一种用于软件和系统开发的高级程序语言,而windows是一个系统,一种平台,windows程序设计就是在windows这个平台上进行软件开发,如在windows xp上安装vc++6.0软件进行程序开发。另一点就是windows这个系统是用c语言编写的

二、c语言怎么编出windows窗口

1、调用window库窗口函数即可创建windows窗口。

2、必须使用windows的编译器,如VC,MS等等。

3、该函数注册在随后调用CreateWindow函数和CreateWindowEx函数中使用的窗口类。 RegisterClass函数己经由函数RegisterClassEx函数来代替,但是,如果不需要设置类的小目标则仍然可以使用RegisterClass函数。

4、该函数创建一个具有扩展风格的层叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindow。具体仍可见微软的msdn。

5、该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WINDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。

6、LRESULT CALLBACK WindowProc(HWND hwnd,

7、wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。

8、IParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。

9、返回值:返回值就是消息处理结果,它与发送的消息有关。

10、LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam);

11、__in_optHINSTANCEhPrevInstance,

12、wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//通过函数来设置一个白色的背景,这里大家设置为NULL看看,会很有趣的

13、wc.hInstance=hInstance;//当前程序的句柄,hInstance是有系统给传递的

14、wc.lpfnWndProc=WinProc;//窗口处理过程的回调函数。

15、wc.lpszClassName=szName;//窗口类的名字。

16、wc.style=CS_HREDRAW|CS_VREDRAW;

17、RegisterClassEx(&wc);//在系统中注册

18、hWnd=CreateWindowEx(WS_EX_CLIENTEDGE,szName,_T("我的窗口我喜欢"),WS_OVERLAPPEDWINDOW,

19、200,100,600,400,NULL,NULL,hInstance,NULL);//创建窗口,窗口标题为"我的窗口我喜欢"

20、MessageBox(NULL,_T("There'sanError"),_T("ErrorTitle"),MB_ICONEXCLAMATION|MB_OK);

21、ShowWindow(hWnd,nShowCmd);//显示窗口

22、//下面是对消息的循环处理,大家先不必管这些,下节课我会细说的

23、while(GetMessage(&Msg,NULL,0,0))

24、TranslateMessage(&Msg);//翻译消息

25、DispatchMessage(&Msg);//分派消息

26、LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam)

27、caseWM_DESTROY://响应鼠标单击关闭按钮事件

28、PostQuitMessage(0);//退出消息队列

29、returnDefWindowProc(hWnd,Msg,wParam,lParam);

三、windows先出现还是C语言先出现

1、C语言起源于70年代,由windows95推算大约是90-93年,C语言比windows早约20年。操作系统不只有windows,windows之前已经有超过20个操作系统,只是windows的理念很先进,提出“所见即所得”,让现有的操作系统有继承这一理念,基本都实现界面作为人机交流。同时还有很多系统是不需要界面的,主要是后台系;因为界面会占用很多资源来达成人机交流,而后台系统不需要人机交流,主要是进行资源调配和数据处理,后台系统是可以通过前台系统进行人机交流。

2、从最早的计算机开始了解计算机(程序软件方面)的发展过程,操作系统还是比较后才出现的。最早的是机器语言,令人头大的0与1二进制->进行八进制编码辅助->引入伪码辅助记忆->引入字符辅助交流->接口集合,模块化->解释语言(BASIC)->编译原理(B,C语言)->出现操作系统->操作系统各自发展->操作系统逐步融合->Windows->继承界面理念的各种操作系统(linux,安卓,苹果OS,虚拟机等等);由此可知,出现新问题和新需求,解决这些问题和需求是发展的主线,而操作系统是问题出现和解决得越来越多,需要更好地整合才建立和发展起来的。在哪里运行是最早的问题,原本没有内存(RAM)的,计算机就在数据(ROM),寄存器,运算单元,控制单元运行。由于寄存器成本高而少,然后出现内存。然后内存就成为运行主件之一。编程语言比编译器早一些,因为解释语言是单语句执行的,效率很低,就催生出先编译后执行的编译语言(B,C语言等等)。其实没有编译语言,根本无法编出真正的操作系统,因为操作编译包括太多功能,其代码都是以M开始(现在以G为单位)的,如果直接使用机器语言写出这M(8百万个0或1),G(亿个0和1)单位内容,可以先想象当中的出错和调试难度。

3、所以,编程语言可以不需要操作系统可以存在,也可以寄存于不同的操作系统,程序可以不需要操作系统存在(单片机就是典型的无操作系统),编译器更是操作系统的基石。操作系统更象个管理者,其他的所有一切由他综合管理,整合在一起,这些其他才是操作系统的基本单元。操作系统不是必须的,却是锦上添花。