C++
qjbagu
这个作者很懒,什么都没留下…
展开
-
Windows下用Eclipse搭建C/C++开发环境
本文假定你已经熟悉Java,Eclipse的安装,并能顺利启动和运行Eclipse.此外因为各软件版本在不断更新,有些地方可能不准确,以最新的、原文资料为准。 距上一次写和调C++程序,已经5、6年了,光阴荏苒岁月无情,现在再重新拾起来,很多东西都要从头来。Windows下C/C++的IDE有很多,我知道的就有MS Visual Studio,Borland C++等,但这些是要版权的。不要转载 2012-04-06 18:02:33 · 402 阅读 · 0 评论 -
解决 multiple definition of
总结了解决multiple definition of的方法: 问题原因: 当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译 #ifndef TEST_H #define TEST_H #endif 就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于,文件中有重名变量,于是就出现了重复定义的错误。转载 2015-09-22 23:23:00 · 1653 阅读 · 0 评论 -
strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。 strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。 已知strcpy函数的原型是:char* strcpy(char* dest, const char* src); memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。转载 2015-09-22 14:07:39 · 448 阅读 · 0 评论 -
c++引用与指针的区别
★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 ★ 区别: 1. 指针是一个实体,而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 引用“从一而终” ^_^转载 2013-09-23 17:03:58 · 518 阅读 · 0 评论 -
Main函数参数argc,argv说明
C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) 这两个参数的作用:argc 是指命令行输入参数的个数(以空白符分隔)argv存储了所有的命令行参数假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令行下用 cd 命转载 2013-09-04 10:54:50 · 574 阅读 · 0 评论 -
Visual Studio原生开发的10个调试技巧
最近碰巧读了Ivan Shcherbakov写的一篇文章,《11个强大的Visual Studio调试小技巧》。这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧。我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧。(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是我的转载 2013-08-12 09:58:09 · 1125 阅读 · 0 评论 -
C++读写文件
掌握文本文件读写的方法 了解二进制文件的读写方法 C++文件流: fstream // 文件流 ifstream // 输入文件流 ofstream // 输出文件流 //创建一个文本文件并写入信息 //同向屏幕上输出信息一样将信息输出至文件 #include #include void main() { ofstream f1("d:\\me.txt")转载 2013-07-23 15:46:13 · 575 阅读 · 0 评论 -
如何解决 “fatal error C1083: ”无法打开包括文件
最开始重新导入项目时,遇到过 "fatal error C1083"这个错误,当时经同事指点,改了加载头文件的附加路径,问题很容易就解决。今天将整个工程改的编译方式改为Release方式,再次遇到"fatal error C1083",决心将具体的解决方法以图文的方式记录下来,一方面加深自己的印象,另一方面,也方便遇到类似问题的同学找到快速解决方案。 步骤1:定位报“fatal error C1转载 2013-03-15 14:30:42 · 1569 阅读 · 0 评论 -
用Eclipse搭建C/C++开发平台
谈到Eclipse这个开源IDE,大家都会潜意识地把它和JAVA开发联系起来。没错,Eclipse用于JAVA application的开发是目前的主流,而且它本身也是需要JRE才能运行的,因而无论怎么看Eclipse都与JAVA有密不可分的联系。 但实际上Eclipse只是一个开发环境,一个为程序员提供的框架,与语言并无直接联系。自从2001年IBM将Eclipse捐献出来后,该项目得到了极大发转载 2012-04-16 13:13:44 · 753 阅读 · 0 评论 -
JNI java.lang.UnsatisfiedLinkError
最近要用到JNI所以先练下手,因为项目是要在linux环境下开发,但是我自己的机子上环境还不全,所以就先用WINDOWS来测试了,其实原理和linux是差不多的。 因为之前有篇文章介绍了linux下的IDE 然后我还是喜欢eclipse 所以还是用的CDT这个插件,不过这次装插件遇到些小麻烦,之前测试装的是2.1.1 装上之后是可以用的,但是现在关了eclipse再启动就报错了,编辑器都打不开(转载 2012-04-14 11:46:18 · 555 阅读 · 0 评论 -
JNI异常的处理
Java中需要调用C代码,C代码中反过来又会操作Java中的对象,这就需要在C代码中处理Java操作可能出现的异常。如果不进行处理,一旦发生异常,C代码部分就会直接退出,同时抛给调用它的Java代码一个莫名其妙的错误(可能是一个没有任何意义的Exception)直接看这个错误是无法分析真正的错误原因的。 所以C代码中必须要处理这些异常,要么将其抛出,要么忽略掉。 下面是专用的JNI函数,可以对转载 2012-04-15 04:00:57 · 533 阅读 · 0 评论 -
用Eclipse + CDT + MinGW做Windows编程
以前看到一本书,叫《Visual C++角色扮演游戏程序设计》,是一个叫坂本千寻的日本人所著。就我的感觉而言,这本书的内容还是挺丰富,不过每一方面的内容都不是太细,所以想要全靠它就能从无知到入门,是很困难的。但是该书最大的好处就是提供了一系列的Demo,分别演示了书中提到的某一方面。(这些和Eclipse CDT有什么关系吗?=0=|||……别急,哈哈,就快有关系了^_^/) 书的前两章主要转载 2012-04-14 23:14:08 · 632 阅读 · 0 评论 -
数组和指针
指针和数组有着密切的关系,任何能由数组下标完成的操作也都可用指针来实现,但程序中使用指针可使代码更紧凑、更灵活。 一、指向数组元素的指针 我们定义一个整型数组和一个指向整型的指针变量: int a[10], *p; 和前面介绍过的方法相同,可以使整型指针p指向数组中任何一个元素,假定给出赋值运算 p=&a[0]; 此时,p转载 2012-04-09 15:36:18 · 327 阅读 · 0 评论 -
void指针
指针有两个属性:指向变量 / 对象的地址和长度(长度也可以理解成大小) 但是指针只存储地址,长度则取决于指针的类型,编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 double*从指定地址向后寻找8字节作为变量的存储单元 1.void指针是一种特别的指针 void *vp转载 2012-04-09 15:20:23 · 322 阅读 · 0 评论 -
用 Eclipse 平台进行 C/C++ 开发
C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言,因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它使用外部插件来提供支持。本文将向您演示如何使用 CDT — 用于 C/C++ 开发的一组插件。CDT 项目(有关链接,请参阅本文后面的 参考资转载 2012-04-06 18:53:35 · 600 阅读 · 0 评论 -
C语言条件编译及编译预处理阶段
一、C语言由源代码生成的各阶段如下: C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中 编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。 在C 语言中,并没有任何内在的机制转载 2015-09-23 00:03:08 · 455 阅读 · 0 评论