简单说明什么是C 什么是WINDOWS C

简单说明什么是C 什么是WINDOWS C

信息来源:中国华北黑客联盟(www.hbhacker.net/bbs)
文章作者:kaoiki  

我想大家。接触C。至少知道C很久了。。

但是又没有考虑过。普通的C与windows c 的区别呢

我想很多人都看过谭老师的C教程,

一般看篇就是Hello word的范例(我这里用hello kaoiki)

-----------------------
main()
{
 printf("Hello kaoiki");
}
-----------------------

如果写得完整些。比如类似JAVA的带参形式(其实就是看起来专业点)

-----------------------main(int arge,char *argv[]){ printf("Hello,kaoiki!");}-----------------------
以上的就是普通的C。大家应该很熟悉下面我们来说一下什么是WINDOWS C。其实区别不是很大。毕竟都是C。
但是既然是windows c,当然要用到windows.h头文件,其实说白了只有两点不同。
1. 主函数main接收的形参不再只是命令行中的字符串的首地址和字符串的个数。
2. C语言的很多函数在Windows C中都可以继续使用,但象printf()屏幕显示等函数就不能继续使用了。
因为Windows是多任务操作系统,屏幕已不再为某一个应用程序所独有, Windows C应用程序要显示字符串,需要使用Windows提供的API函数,开自己的窗口。
所以真正的windows c是不用printf来显示的..当然了.不是真正的windows c一样可以在win下编译生成目标文件.来运行.
其中你就可以使用你习惯的printf我们来看看范例就会明白了-------------------
----#include
APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"Hello,kaoiki!","第一个Windows C程序",MB_OK|MB_ICONASTERISK);
}-----------------------
主函数的形参有四个:(其中解释我通过查MSDN后自己归纳得来.呵呵,我也算认真了.不能误人子弟)


1) Hinstance:接收程序运行时当前实例的句柄;

2) HprivInstance:前一个实例的句柄;

3) LpCmdLine:程序命令行指针;

4) NcmdShow:一个用来指定窗口显示方式的整数。

这几个参数的使用我们会在深入的学习中介绍的。显示Hello,Word!字符串,我们使用了一个MessageBox函数,这个函数会在屏幕上显示一个对话框,
它的原型是:int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UNIT uType)

使用这个函数要包含windows.h头文件。测试,会弹出了一个“第一个Windows C程序”对话框,上面有一行字:“Hello,kaoiki!”。
(补充说明一点.2k5中不知ms是不是为了完全将语言建于.net之上.其中没有 windows.h和windowsx.h两个头文件.)

深入编程:

在C语言中,函数的声明,如果没有指明返回值类型,缺省值为void,这个程序的主
函数就没有返回值。不过,在Windows编程时,我们最好养成个好习惯,指明函数的返回值类型,因为在C++中,函数返回值类型是不可以缺省的。而我们在Windows C编程时,还是会用到C++的一些概念,这样做,有利于以后深入地学习。规范一点的程序应该是这样的:


-----------------------
#include
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"Hello,kaoiki!","第一个Windows C程序",MB_OK|MB_ICONASTERISK
);
return 0;}
-----------------------
这里,我们声明的均为int型,返回0,这样的函数就可以使用在复杂一点的函数调用中了。
在本文中,我们有几处都提到了句柄的概念,句柄和指针的概念不同,它是作为操作系统内部索引表中的一个值来使用的,
这样可以防止应用程序直接访问名对象的内部结构,体现了Windows资源管理的优越性。
譬如说,一个窗口找开之后,好对应内存中的一个内存块,这个窗口所在的内存快地址往往会由操作系统做动态的调整,但其却不会随之变化。
不过,通过它可以访问这个窗口,所以在使用的时候,可以把它当做指针一样看待。
要看高深的。从基础开始。我回发这篇文章也是因为问了很多人

几乎没有一个人可以告诉我。什么是C。什么是WINDOWS C。

我想。大多数人。都觉得没什么区别吧。。会用到WINDOWS这些头文件的。几乎也不多。除非是必须的。

呵呵。所以说。谭老师的例子。都不是windows c 所以他的书叫c语言程序设计。而不是windows c 语言程序设计
 

你可能感兴趣的:(简单说明什么是C 什么是WINDOWS C)