摘要: GTK的安装过程比较繁琐,以前也安装过,但没有记录下来,Google一下记录下来备用。利用此方法成功在ubuntu12.04下安装GTK 2.24.101、安装gcc/g++/gdb/make 等基本编程工具sudo apt-get install build-essential2、安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件sudo apt-get install gnome-core-devel 3、用于在编译GTK程序时自动找出头文件及库文件位置sudo apt-get install pkg-config4、安装 devhelp GTK文档查看程序 阅读全文
posted @ 2013-10-26 16:02 木有Some 阅读(816) 评论(0) 推荐(0) 编辑
摘要: 一、类嵌套的疑问C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题。假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中,但是在A中要用到B,B中也要用到A,但是这样的写法当然是错误的:class B;class A{ public: B b;};class B{ public: A a;};因为在A对象中要开辟一块属于B的空间,而B中又有A的空间,是一个逻辑错误,无法实现的。在这里我们只需要把其中的一个A类中的B类型成员改成指针形式就可以避免这个无限延伸的怪圈了... 阅读全文
posted @ 2013-10-25 16:56 木有Some 阅读(13701) 评论(0) 推荐(2) 编辑
摘要: 来自http://www.360doc.com/content/11/0112/15/1332348_85986776.shtml# 一直想写一篇这样的总结性文章,但不是没有时间就是没有勇气写下去,因为怕别人丢臭鸡蛋。这两天有时间,终于鼓起勇气,将这篇文章写来下!也希望对一些正在寻找更好发展的朋友能有点帮助,也希望对于一些技术跟管理方面的牛人,能给予一些建议。作为一名项目经理、系统架构师或技术骨干,其水平如何,关系到公司的项目管理、软件质量管理等方面的问题。项目经理或技术骨干应该要起带头作用,使整个团队的开发及管理能达到一种更高的水平。那作为一名项目经理或公司技术骨干应该学会那些工具及知... 阅读全文
posted @ 2013-10-22 16:47 木有Some 阅读(1487) 评论(0) 推荐(0) 编辑
摘要: 来自http://blog.csdn.net/phunxm/article/details/5082488一.IDE基础配置1.字体VC6中“Tools→Options→Format→Font”配置字体;VC2005中“工具→选项→环境→字体和颜色”配置字体。编写代码一般采用等宽字体,等宽点阵(位图)字体,相对矢量字体而言具有兼容性好和显示清晰的优点。常用的编程等宽字体包括Fixedsys(VC6和notepad御用字体)、Consolas、YaHei Mono。VC6默认可选字体只有Fixedsys和Terminal,可通过修改注册表来改字体,在HKEY_CURRENT_USER/Softw 阅读全文
posted @ 2013-10-22 11:04 木有Some 阅读(2335) 评论(0) 推荐(0) 编辑
摘要: 包含目录:#include 中headerfile.h的搜索目录。如果有XXX.h找不到,设置这个目录可以解决。附加依赖项:C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。这个就是在附加链接库中设置。其实,一般的库会用#pragma comment(lib,"xxx.lib") 来设置这个过程出错会出现link error,大概是“未定义的函数XXX”。库目录:就是寻找.lib 阅读全文
posted @ 2013-10-21 10:42 木有Some 阅读(23918) 评论(1) 推荐(1) 编辑
摘要: stdafx.hVC工程里面经常见到stdafx.h这个头文件,以前也没有特别注意,但是这个文件用不好经常会出错,所以就GOOGLE了一下,总算是弄清楚了。。。stdafx的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展)。所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。简介预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文 阅读全文
posted @ 2013-10-21 09:53 木有Some 阅读(17222) 评论(0) 推荐(5) 编辑
摘要: 1. 文件中的#ifndef头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的: #ifndef #define ...... ...... #endif在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:st... 阅读全文
posted @ 2013-10-18 21:14 木有Some 阅读(2208) 评论(0) 推荐(0) 编辑
摘要: 一、野指针“野指针”不是NULL指针,是指向“垃圾”内存的指针。“野指针”的成因主要有三种:(1)指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。例如 char *p = NULL; char *str = (char *) malloc(100);(2)指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。 free和delete只是把指针所指的内存给释放掉,但并没有把指针本身干掉。free以后其地址仍然不变(非NU. 阅读全文
posted @ 2013-09-22 21:10 木有Some 阅读(920) 评论(0) 推荐(1) 编辑
摘要: 最近做的MFC项目中,有个获取其他进程中Edit控件内容的需求,本来以为是个很简单的问题,但是来来回回折腾了不少时间,发博记录一下。 刚开始拿到这个问题,很自然的就想到GetDlgItemText():UINT GetDlgItemText( HWND hDlg, // handle to dialog box int nIDDlgItem, // control identifier LPTSTR lpString, // pointer to buffer for text int nMaxCount // maximum size of string);... 阅读全文
posted @ 2013-09-22 16:28 木有Some 阅读(4501) 评论(0) 推荐(1) 编辑
摘要: 为什么会出现这个错误??“error LNK2005: 已经在*.obj中定义” 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误,弄清楚它形成的原因,就可以轻松解决它了。造成LNK2005错误主要有以下几种情况:1.重复定义全局变量。可能存在两种情况:A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。 正确的应该是在一个CPP文件中定义如下: int g_Test; 那么在使用的CPP文件中就应该使用: extern int g_Test 即可,如果还... 阅读全文
posted @ 2013-09-22 10:53 木有Some 阅读(128070) 评论(1) 推荐(12) 编辑