
C/C++ 程序
songguozhi
IT新解:Intelligence Technology
展开
-
彻底搞定C指针-函数名与函数指针
函数名与函数指针一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){ MyFun(10); //这里是调用MyFun(10);函数 return 0;}void MyFun(int x)转载 2008-11-05 15:55:00 · 1180 阅读 · 1 评论 -
声明与函数、函数指针
概述 在很多情况下,尤其是读别人所写代码的时候,对 C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。 问题:声明与函数 有一段程序存储在起始地址为 0的一段内存上,如果我们想要调用这段程序,请问该如何去做? 答案 答案是 (*(void (*)( ) )0)( )。看起来原创 2008-11-05 15:56:00 · 653 阅读 · 0 评论 -
删除自身exe文件的方法
/* A code removes itself*/#include windows.h>#include stdio.h>#include stdlib.h>#define Cleanse(x) { res == (x); goto __cleanse; }typedef BOOL (WINAPI *DELETEFILEA)(const char*);struct remove_data{原创 2009-07-01 15:06:00 · 1575 阅读 · 0 评论 -
多线程编程之四——线程的同步
<br />多线程编程之四——线程的同步<br /><br />作者:韩耀旭<br />下载源代码<br />八、线程的同步<br /> 虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取数据库以响应储户的需要,极转载 2011-05-15 22:45:00 · 676 阅读 · 0 评论 -
VC++ 网络编程(入门)传送结构体
<br /> <br /> /*服务端程序的编写1. 创建套接字(Socket)2. 将套接字绑定到一个本地地址和端口上.(bind)3. 将套接字设为监听模式,准备接收客户请求(listen).4. 等待客户请求到来,当请求到来后,接收连接请求,返回一个新的对应于此次连接的套接字(accept).5. 用返回的套接字和客户端进行通讯(Send/Recv)6. 返回等待另一个客户请求.7. 关闭套接字如下是服务端程序的代码:*/#include "wind原创 2011-05-17 10:41:00 · 1421 阅读 · 0 评论 -
常见的23种设计模式简单介绍
<br /> 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 <br /> 建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。 <br /> 工厂方法模式:核心工厂类不再负责所有产品的创建,原创 2011-05-04 07:54:00 · 677 阅读 · 0 评论