
C/C++
wxmxl
这个作者很懒,什么都没留下…
展开
-
VS2005中编译dll未生产lib的原因及解决方法
原因可能有三个:1)在Settings->Link中的General选项页中,选中了“Doesn't produce LIB”复选框。2)整个动态链接库中没有导出的函数或类。3)所有导出函数的实现均写在在头文件中。原创 2014-08-22 09:57:08 · 2361 阅读 · 0 评论 -
幽默的代码
1、佛祖保佑,永无bug转载 2014-10-17 13:23:05 · 625 阅读 · 0 评论 -
codeviz+graphviz分析项目的函数调用关系
0.我使用的环境信息我是在虚拟机中安装的RHRL5。1.graphviz的安装(除开程序流程图外,它还可以画很多其他图)开始我在graphviz的主页上:http://www.graphviz.org/Download.php没有找到地方下载源码。尴尬啊!后来在CU下载里:http://download.chinaunix.net/download/0005000/4119.s转载 2014-10-31 16:18:49 · 3761 阅读 · 0 评论 -
使用doxygen和graphviz来产生源代码函数调用图
一、问题的产生最近需要分析一个很老的工程的源代码,源代码的内容复杂,而且找不到比较熟悉此代码的人。我这里首先要分析下函数间的调用关系,于是从网上搜索到了如下方法:使用doxygen和graphviz来自动分析函数间的调用关系。二、工具简介doxygen:(http://www.stack.nl/~dimitri/doxygen/index.html)Doxyge转载 2014-10-31 16:21:59 · 757 阅读 · 0 评论 -
应用程序无法正常启动0xc0150002 解决方案
我也遇到过此问题,解决办法:方案一: 在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是否更新清单文件。方案二:不嵌入清单文件。在项目的“属性|配置属性|清单工具|输入和输出”中的“嵌入清单”选择“否”,从而在生成exe文件时附随生成一个清单文件(默认情况下,其文转载 2014-11-06 17:08:33 · 1759 阅读 · 0 评论 -
如何把VS2008上编的debug、release程序在没装VS的xp机器上运行
用VS2008 SP编写的MFC程序,拷贝到其他没装VS2008的机器上直接运行,肯定是不行的。即使选择静态链接MFC,有时候系统还是会提示“应用程序配置不正确”。这是因为程序中可能不止用到了9.0版本MFC,还可能有ATL、CRT、OPENMP等。在自己的机器上运行时,系统会到"C:/WINDOWS/WinSxS/"文件夹查找相应的库,这个文件夹里包含了所有安装过的版本的运行库和清单文件。如果只转载 2014-11-06 17:11:30 · 617 阅读 · 0 评论 -
printf中输出double的占位符
今天A了一道POJ2253,wa了好久,后来看了discuss才知道printf中输出double是应该用%f 而不是%lf的.只是大多数编译器都会识别而已,而也就造成了我们长期都不知道正确的写法.这儿有一篇文章,有点帮助:转自:http://book.51cto.com/art/200901/106880.htm12.9问:有人告诉我不能在printf中使用%lf。为什么转载 2014-12-17 10:37:44 · 13069 阅读 · 0 评论 -
Visual C++实现微秒级精度定时器
在工业生产控制系统中,有许多需要定时完成的操作,如:定时显示当前时间,定时刷新屏幕上的进度条,上位机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的控制系统和数据采集系统中,就更需要精确定时操作。众所周知,Windows是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源紧张时,发送到消息队列中的消息转载 2014-12-19 18:42:07 · 1793 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
转载:select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET 从别人的博客中转载过来了这一篇文章,经过重新编辑排版之后展现于此,做一个知识点保存与学习。 select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,f转载 2017-03-25 19:35:37 · 547 阅读 · 0 评论 -
分析函数调用关系图(call graph)的几种方法
绘制函数调用关系图对理解大型程序大有帮助。我想大家都有过一边读源码(并在头脑中维护一个调用栈),一边在纸上画函数调用关系,然后整理成图的经历。如果运气好一点,借助调试器的单步跟踪功能和call stack窗口,能节约一些脑力。不过如果要分析的是脚本语言的代码,那多半只好老老实实用第一种方法了。如果在读代码之前,手边就有一份调用图,岂不妙哉?下面举出我知道的几种免费的分析C/C++函数调用关系的工具转载 2014-10-31 16:13:42 · 4283 阅读 · 0 评论 -
用CodeViz绘制函数调用关系图(call graph)
CodeViz是《Understanding The Linux Virtual Memory Manager》(at Amazon,下载地址在页尾)的作者 Mel Gorman 写的一款分析C/C++源代码中函数调用关系的open source工具(类似的open source软件有egypt、ncc)。其基本原理是给 GCC 打个补丁,让它在编译时每个源文件时 dump 出其中函数转载 2014-10-31 16:16:48 · 952 阅读 · 0 评论 -
C++静态库与动态库(转)
这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库转载 2014-08-22 08:40:52 · 510 阅读 · 1 评论 -
Typedef Struct 用法详解和用法小结
第一篇:typedef struct与struct的区别1. 基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。至于typedef有什转载 2014-10-08 14:46:43 · 784 阅读 · 0 评论 -
struct和typedef struct彻底明白了
struct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student转载 2014-10-08 14:47:26 · 476 阅读 · 0 评论 -
C语言的静态函数
当一个源程序由多个源文件组成时,根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。1 内部函数(又称静态函数)如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。定义一个内部函数,只需在函数类型前再加一个“static”关键字即可:static 函数类型 函数名(函数参数表)关键字“stati转载 2014-11-12 20:09:11 · 580 阅读 · 0 评论 -
多个".h"文件中声明及定义 全局变量和函数
一、".h"文件必须以如下格式书写例:文件《CZ_efg_hi.h"》------------文件内容-----------#ifndef CZ_Efg_Hi_H#define CZ_Efg_Hi_H.....所有文件内容.....#endif---------------------------------转载 2014-11-12 20:07:42 · 6614 阅读 · 1 评论 -
MFC中,怎样弹出一个新的对话框
你建了一个基本对话框,然后已经有了一确定按钮,接下来双击这个确定按钮添加一个消息响应函数,单你点击这个按钮时就会调用这个函数void CXXXXDlg::OnOK() { // TODO: Add extra validation here}第二步:你选择insert菜单 里的resour 选项--> Dialog --> new 就新建一个对话框,然后双击该对话框会提示你为这个对话框创转载 2014-10-11 14:24:46 · 7595 阅读 · 1 评论 -
LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编码。转载 2014-10-11 14:01:26 · 444 阅读 · 0 评论 -
类的成员函数指针(比较深入)
From:http://blog.youkuaiyun.com/hairetz/archive/2009/05/06/4153252.aspx个人感觉对于类的成员函数指针这块讲解的比较深入详细推荐阅读///////////////////////////////////////////////// 先看这样一段代码 class test { public:转载 2014-10-11 14:13:07 · 451 阅读 · 0 评论 -
windows下开发apache模块环境部署(apache,perl,apxs)
转自:https://blog.youkuaiyun.com/hxsstar/article/details/198200291,windows下安装apache地址:http://apache.dataguru.cn//httpd/binaries/win32/ 一定要custom全部安装,否则就不会有include和lib目录2,安装Perl我们将要使用的apx包要用到perl解析编译,所以,需先安装pe...转载 2018-06-12 15:00:33 · 1385 阅读 · 0 评论