随笔分类 -  C/C++

摘要:open():#include<fcntl.h>#include<types.h>#include<sys/stat.h>/*此头文件里面定义了mode标志*/int open(const char *path, int oflags);int open(const char *path, int oflags, mode_t mode);函数描述:open建立了一条到文件或设备的访问路径。如果操作成功,它将返回一个文件描述符,如果失败,返回-1。此函数说明:第一个参数表示:路径名或者文件名。路径名为绝对路径名,文件则是在当前工作目录下的。 第二个参数表示: 阅读全文
posted @ 2012-02-23 15:56 beishuai 阅读(816) 评论(0) 推荐(0)
摘要:引子无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系。但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战。幸而有GNU 提供的Autoconf及Automake这两套工具使得编写makefile不再是一个难题。本文将介绍如何利用 GNU Auto 阅读全文
posted @ 2012-01-13 15:52 beishuai 阅读(217) 评论(0) 推荐(0)
摘要:什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则 阅读全文
posted @ 2012-01-13 13:59 beishuai 阅读(277) 评论(0) 推荐(0)
摘要:linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库,是好多个.o合在一起,用于静态连接.la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看*.la文件的格式 $file *.la *.la: ASCII English text所以可以用vi来查看其内容。@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@创建.a库文件和.o库文件:[yufei@localhost perl_c 阅读全文
posted @ 2011-12-22 15:48 beishuai 阅读(5059) 评论(0) 推荐(0)
摘要:在研究项目团队协作开发的情况下(这里的团队协作也适合于应用项目的开发),编程时应该强调的一个重要方面是程序的易读性,在保证软件速度等性能指标能满足用户需求的情况下,能让其他程序员容易读懂你所编写的程序。若研究项目小组的所有开发人员都遵循统一的、鲜明的一套编程风格,可以让协作者、后继者和自己一目了然,在很短的时间内看清楚程序结构,理解设计的思路,大大提高代码的可读性、可重用性、程序健壮性、可移植性、可维护性。制定本编程规范的目的是为了提高软件开发效率及所开发软件的可维护性,提高软件的质量。本规范由程序风格、命名规范、注释规范、程序健壮性、可移植性、错误处理以及软件的模块化规范等部分组成。本软件开 阅读全文
posted @ 2011-12-21 17:28 beishuai 阅读(589) 评论(0) 推荐(1)
摘要:一.找错题试题1:void test1(){ charstring[10]; char* str1 ="0123456789"; strcpy( string, str1 );}试题2:void test2(){ charstring[10],str1[10]; int i; for(i=0; i<10; i++) { str1 ='a'; } strcpy( string, str1 );}试题3:void test3(char* str1){ charstring[10]; if( strlen( str1 ) <=10 ) { strcpy 阅读全文
posted @ 2011-11-18 15:54 beishuai 阅读(157) 评论(0) 推荐(0)
摘要:1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2.什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称... 阅读全文
posted @ 2011-11-17 11:56 beishuai 阅读(389) 评论(0) 推荐(0)
摘要:*********************************C++复习总结************************************1.函数模板:实际上是建立一个通用函数,其函数类型和参数类型不具体指定,用一个虚拟的类型来代表,这个通用函数就是函数模板。#include<iostream>template<typenameT>Tconst&max(Tconst&a,Tconst&b){returna>b?a:b;}intmain(){intia=16,ib=12;std::cout<<"a,b中的最 阅读全文
posted @ 2011-11-17 11:42 beishuai 阅读(220) 评论(0) 推荐(0)