随笔分类 - VS2008 Compiler
摘要:其实只有一句话需要注意:static在类外初始化,然后才可以在类内修改,其生命周期就是整个程序的生命周期.静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。 用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将只在执行线程第一次到达它的定义使初始化。 用法2:局部静态对象 对于局部静态对象,构造函数是在控制线程第一次通...
        阅读全文
                
摘要:在vc中提供了修改显示设备(如显示器、打印机等等,本文只就显示器而言)属性的函数ChangeDisplaySettings(),该函数能够按照你的需要对显示设备作出相应的修改。UINT m_nWidthPixels、 UINT m_nHeightPixels、 UINT m_nBitsPerPixel3、实现对话框架中的按钮单击情况下的处理函数。 对于Windows平台,显示器的分辩率、颜色数、刷新率等特性很重要,尤其是对于多媒体应用软件和游戏软件。在很多情况下,用户当前的屏幕设置并不适合软件的运行需要,软件通常的做法是提示用户将屏幕设置到软件要求的分辩率及颜色数,再重新启动软件。这样无疑会.
        阅读全文
                
摘要:(1)一般命令行程序编译后是一个方框图标。我们可以自定义:Project -> Add to project -> New...选择Resource Script,新建一个资源脚本,这样左面就多了一个资源视图 然后Project -> Add to project -> File,加进来一个图标,重新编译就可以了。更正,详细方法如下:Project -> Add to project -> New 选择Resource Script 填入file文件名,确定之后,在工作区会出现 文件名.rc 的文件夹, 右击这个文件夹,选 insert,选中icon,点im
        阅读全文
                
摘要:在程序编译完成后,生成的文件是以.obj为扩展名的对象文件,link.exe是将这些对象文件与库链接起来以创建可执行文件或动态链接库文件的工具。link.exe的输入文件包括obj文件、lib文件、exp文件、def文件、res文件、txt文件、ilk文件等等,而输出的文件一般是exe文件、dll文件、sys文件等可执行程序文件。1、命令行参数link.exe运行参数如下:LINK [options] files参数包括选项和文件名,选项和文件名可按任意顺序指定。link会首先处理选项,然后是文件。各参数间必须使用一个或多个空格或制表符来分隔。2、输入文件参数中的files是指链接器的输入文件
        阅读全文
                
摘要:Windows应用程序中,图标、菜单、畏途、图标、工具条、对话框等是以资源的形式存在的。开发人员也可以自定义资源类型。如果一个程序使用了资源,那么它在构建时需要对资源进行编译。程序所使用的资源会在资源脚本文件(*.rc)中进行描述编写,编译时,资源编译器会将*.rc文件编译为可链接的.res文件。(资源中可以包括字符串)1、命令行参数使用如下方式在命令行中运行rc.exeRC [options] srcipt-fileoptions是编译选项,script-file是需要编译的资源脚本文件。用户可以使用如下方式调用:rc.exe /n /fo Hello.res Hello.rc2、资源编译器
        阅读全文
                
摘要:这一章节介绍的全是VC编译器选项,option参数是cl.exe的编译选项,是cl.exe命令行参数中最复杂、也是最常用的。下面介绍一些常用的编译选项:1、代码生成有关这些选项将影响编译完成后生成的机器代码:2、调试有关与调试有关的编译选项如下图,/Z7、/Zi、/ZI这三个选项是对程序进行调试时所必需的选项,同时注意,在生成调试版本的程序时,需要指定/Od选项以禁用优化:3、程序优化有关与程序优化有关的选项如下图,优化选项将影响编译器对代码的优化,最选择代码体积最小还是选择运行速度最快等需要使用这些选项:4、输出文件有关与生成的输出文件有关的选项如下图,输入文件在参数中需要使用字符串来指定其
        阅读全文
                
摘要:cl.exe的功能是将源代码文件编译为可提供链接器使用的obj对象文件。cl.exe命令行参数形式如下:CL (option...) file... [option | file]... [lib...] [@command-file] [/link link-opt...]各命令行参数的意义如下 :1、option命令行中的"option"是指一个或多个编译选项。在指定选项时,需要在选项前加正斜杠(/)或一个短划线(-)。有一些选项还会带有参数,使用":"来指定选项的参数。比如"/sybsystem:windows,5.0"是一个编
        阅读全文
                
摘要:引言 本文将要介绍的Windows控件指的是Windows系统预定义的标准控件,如按钮控件、编辑控件和列表控件等。这些预定义控件实际是一种特殊的子窗口,主要供用户同应用程序的交互之用。和普通窗口类一样,每一个预定义控件也都是由所属的窗口类规定了自身的外观属性和具有的功能。Windows系统通过预定义的方式提供了一些标准控件的窗口类名,在程序设计时只需通过调用CreateWindow()函数或CreateWindowEx()函数并将预定义的窗口类名作为参数传入即可创建出相应的控件。当用户通过屏幕对象同控件进行交互操作时,控件将以"通知消息"的形式向父窗口发送WM_COMMAN
        阅读全文
                
摘要:编辑类控件 以窗口类名"EDIT"创建的编辑类控件是一个可以用来接受用户键盘字符输入的矩形区域,可以在其内进行编辑操作。该控件是程序接受用户字符输入的一种主要手段,输入的内容存放在其父窗口容量有限的(32KB)局部堆中。 MFC的CEdit类提供了有关编辑类控件的功能函数。编辑控件既可以在对话框模板上创建也可以通过代码来直接创建,这两种方式均要通过CEdit的构造函数来构造一个CEdit对象。CEdit类从CWnd继承了一些重要的函数,比如可以通过使用CWnd类成员函数SetWindowText()和GetWindowText()来设定和获取一个编辑控件中的文本。同按钮类控
        阅读全文
                
摘要:所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。 一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足, 例如,在类CMyView中保留了一个非模式对话框对象指针,该对象用于显示/修改一些信息。为了实现对话框 “应用”按钮,把对话框做的修改立刻更新到view界面上,为此,需要在对话框类中需要保存view类的指针,这样 定义关系就变成如下的代码: #ifndef __MYVIEW_H__ #define __MYVIEW_H__ //这是view类的头函数 #include "MyDialog.h" class CMyV
        阅读全文
                
摘要:粘包、丢包及TCP信息收发初涉socket编程的朋友经常有下面一些疑惑: 1. 为什么我发了3次,另一端只收到2次? 2. 我每次发送都成功了,为什么对方收到的信息不完整?这些疑惑往往是对send和recv这两个函数理解不准确所致。send和recv都提供了一个长度参数。对于send而言,这是你希望发送的字节数,而对于recv而言,则是希望收到的最大字节数。1。 sendsend函数的原型是:int send(SOCKET sd, const char * buffer, int len, int flag). 其中len指出buffer中包含的实际字节数,也是程序员希望发出的最大字节数。而这
        阅读全文
                
摘要:首先声明,本文例子只是为了帮助说明函数原型和全局变量。一个例子引入问题考虑初学者经常见到的一个简单的问题:从控制台输入10个数字,把他们排序后再输出去。为了看代码轻松一点,决定按照功能把不同代码放到不同文件中去,整个工程由3个cpp构成,分别是:main.cpp 主程序sort.cpp 排序程序inout.cpp 输入输出程序为了方便设计,决定把输入输出的数放在全局变量数组中,有了这些前提后,可以得出3个cpp文件内容分别是:inout.cpp#includeusing namespace std;int number[10];void input(){int i; for(i = 0 ; i
        阅读全文
                
                    
                
浙公网安备 33010602011771号