
C/C++
lj89168
这个作者很懒,什么都没留下…
展开
-
C语言编译全过程
编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等) 1.转载 2012-02-15 21:14:45 · 428 阅读 · 0 评论 -
C++的public、protected、private 详解
1、对于单个类来说,这三个范围限定符的意义如下: 公有成员(public member) 在程序的任何地方都可以被访问。实行信息隐藏的类将其public 成员限制在成员函数上,这种函数定义了可以被一般程序用来操纵该类类型对象的操作 私有成员(private member) 只能被成员函数和类的友元访问。实行信息隐藏的类把其数据成员声明为private 被保护成员(protect转载 2012-03-28 09:44:30 · 863 阅读 · 0 评论 -
linux程序分析工具介绍(二)—-ldd,nm
本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具。ldd是用来分析程序运行时需要依赖的动态库的工具;nm是用来查看指定程序中的符号表相关内容的工具。下面通过例子,分别来介绍一下这两个工具: 1. ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库: wuzesheng@wuzesheng-ubuntu:~/Public$ ldd cs linux-ga转载 2012-04-08 19:41:10 · 783 阅读 · 0 评论 -
Linux 变干边学 学习笔记之 Vi常用命令
1 :/Updating 查找文中所有与“Updating”匹配的字符串,并且将光标移到(当前光标所在行的下一行开始相匹配的)“Updating”字符串的位置 2 :5, $s/Updating/Installing/g 从第5行起至文件最后一行,将所有“Updating”字符串替换成“Installing”字符串 3原创 2012-04-08 16:18:04 · 829 阅读 · 0 评论 -
C语言结构体定义、赋值举例
结构体是一种特殊的数据类型,它可以将很多数据类型打包,然后只要操作该结构体的指针变量便可以轻松的访问该结构体内其他的数据。 举例如下: struct student { CHAR NAME[8]; int age; CHAR depart[20]; float grade; }freshman ; student是结构名,大括号内为该结构体打包的数据类型。如果定义 struct转载 2012-03-22 19:51:17 · 2451 阅读 · 0 评论 -
关于C++ 拷贝构造函数,深拷贝和浅拷贝的理解
对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=88; int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include iostream> using namespace std; class CExample { private: int a; pu转载 2012-09-09 10:50:30 · 718 阅读 · 0 评论 -
2012年华为软件工程师机试题
今天下午五点半参加了华为的软件工程师上机考试,用的是C,给定时间1小时15分钟。下面把题目贴出来~ 1.题目描述(60分): 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函数: void stringFilter(cons原创 2012-09-01 21:58:44 · 2044 阅读 · 0 评论 -
关于内联函数(inline)和宏的一些理解
1.内联函数和宏相比,可以调试,宏不行。 2.和函数相比,编译以后,直接内嵌在主函数里,不用走调用函数,保存环境的流程。因而省去函数调用开销。 3.内联函数和宏相比,不是简单的代码块替换,减少一些安全隐患:例如: // 返回 i 的绝对值的宏 #define unsafe(i) \ ( (i) >= 0 ? (i) : -(i) ) // 返回 i 的绝对值原创 2012-09-18 23:53:16 · 668 阅读 · 0 评论