首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>cc++>正文

Windows下C语言网络编程快速入门

http://www.oklinux.cn  2008-03-07  来源: C 学习资源网 魏云华  会员收藏  游客收藏  【 】 

C语言的学习,一般的方式是,先学C,然后是C ,最好还要有汇编语言和微机原理基础,然后才是Visual C 。这样的方式,对学习者来说,要花费很多时间和耐力。而在学校教学中,也没有时间深入学习Windows编程的实用技术了。

其实,具有了C语言基础后,再有一些基本的C 类的概念,就可以直接学习Windows C编程了。

一、走近Windows C语言

很多语言都把显示一个“Hello,World!”做为第一个入门程序,C语言的第一个程序是这样的:

#include<stdio.h>
main()
{
 printf(“Hello,World!”);
}

如果把main函数写成带参数的main函数,应该是:

#include<stdio.h>
main(int arge,char *argv[])
{
 printf(“Hello,World!”);
}

Windows C的第一个程序和这个程序在形式和原理上都是一致的,只是有两点不同:

1. 主函数接收的形参不只是命令行中的字符串的个数和字符串的首地址。

2. C语言的很多函数在Windows C中都可以继续使用,但象printf()屏幕显示等函数就不能继续使用了。因为Windows是多任务操作系统,屏幕已不再为某一个应用程序所独有,Windows C应用程序要显示字符串,需要使用Windows提供的API函数,开自己的窗口。

下面是一个最简单的,显示“Hello,World!”的Windows C程序:

#include<windows.h>
APIENTRY WinMain
(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"Hello,World!",
"第一个Windows C程序",MB_OK|MB_ICONASTERISK);
}

主函数的形参有四个:

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

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

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

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

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

int MessageBox(HWND hWnd,LPCTSTR lpText,
LPCTSTR lpCaption,UNIT uType)

四个参数分别是:

1) HWnd:父窗口的句柄;

2) LpText:要显示字符串的指针;

3) LpCaption:对话框标题字符串的指针;

4) UType:显示在对话框上的小图标的类型。

使用这个函数要包含windows.h头文件。调试一下,怎么样?窗口上弹出了一个“第一个Windows C程序”对话框,上面有一行字:“Hello,World!”。世界真的很美好啊!

深入编程:

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

#include<windows.h>
int APIENTRY WinMain
(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"Hello,World!","第一个Windows C程序",MB_OK|MB_ICONASTERISK);
return 0;
}

这里,我们声明的类型为int型,并且返回一个值0,这样的函数就可以使用在复杂一点的函数调用中了。

在本文中,我们有几处都提到了句柄的概念,句柄和指针的概念不同,它是作为操作系统内部索引表中的一个值来使用的,这样可以防止应用程序直接访问名对象的内部结构,体现了Windows资源管理的优越性。

譬如说,一个窗口找开之后,好对应内存中的一个内存块,这个窗口所在的内存快地址往往会由操作系统做动态的调整,但其却不会随之变化。不过,通过它可以访问这个窗口,所以在使用的时候,可以把它当做指针一样看待。

共2页: 上一页 1 [2] 下一页

上一篇:教您在C/C 中如何构造通用的对象链表   下一篇:如何在Linux桌面上搭建C/C IDE开发环境


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·教您在C/C 中如何构造通用的对象
·如何在Linux桌面上搭建C/C IDE开发环境
·与C/C 指针相似的C#代表元及事件触发
·C 编程中的四个调试小技巧
·初学者必备:教你理解复杂的C/C 声明
·详细解析C 编写的ATM自动取款机模拟程序
·编程秘籍篇:C语言高效编程的四大绝招
·编程初级班:C语言程序设计入门系列之一
·编程初级班:C语言程序设计入门系列之二
·细述C/C 字符指针数组及指向指针的含义
·专家教您如何在C语言中巧用正则表达式
·初学者编程入门:学习C 的最大难度
·初学者编程入门:C 实用技巧讲解
·浅议C语言中数组和指针的互操作
·初学者编程入门:C 指针使用方法
·移形幻影大法 C 程序员快速学习C#之二
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·用Eclipse平台进行C/C 开发
·在 Linux 中使用共享对象
·VS:针对Java开发人员的C#编程语言
·使用智能设备扩展在C#中开发自定义控件
·Visual C# 常见问题
·二级C语言实例解答
·一种被忽视的构造和整数溢出重现
·轻轻松松C to C
·与用于 C 的ISO标准保持一致
·用C 的托管扩展针对Windows编程
·运行时和编译时的安全性检查
·轻轻松松C to C (二)
  阅读排行
·c/c++ 学习-read 函数和 write 函数
·程序员眼中的qmail(qmail源代码分析)
·Awk 基础入门:Awk 实例编程
·autoconf 和automake生成Makefile文件
·Linux下的多进程编程
·入门文章:教你学会编写Linux设备驱动
·C++自动化(模板元)编程基础与应用
·使用 GDB 调试多进程程序
·Qt 不规则窗体的实现
·嵌入式程序员应知道的几个基本问题
·Linux操作系统中GCC的应用介绍
·C语言中的指针和内存泄漏
·用GNU profiler提高代码运行速度
·vi 中的正则表达式 (Regular Expressio
·Linux 套接字编程中的 5 个隐患
网摘收藏: