« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
公告 |
My blog is about my major : network security.the most papers are talk about it ,I like my major ,i wish you could find what's you need in it. |
统计 |
blog名称:我的IT人生 日志总数:78 评论数量:185 留言数量:-1 访问次数:523908 建立时间:2006年4月5日 |
| 
|
本站首页 管理页面 写新日志 退出
[C/C++]extern 与 static |
1,extern 与 static
一个全局变量当需要整个程序的其他源文件中能够共用到,则可以在使用的文件上写上extern标记,若仅仅是在本文件中被共用,则使用static标记。
例如:
在A.cpp 文件中,有一个全局变量 a,和一个函数: func();
//A.cpp 文件:
...
int a;
void func()
{
...
}
...
我们希望在B.cpp 或更多其它文件可以使用到变量a和函数func(),必须在“合适的位置”声明二者:
//B.cpp 文件:
...
extern int a; //a 由另一源文件(A.cpp)定义
|
阅读全文(5449) | 回复(0) | 编辑 | 精华 | 删除 |
[C/C++]引用 的本质 |
在看这篇文章之前,请你先要明白一点:那就是c++为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了你在完成任务之前的正确行为,如果你的行为不正确,那么你休想构造出任何可执行程序来。但如果真正到了产生可执行代码阶段,无论是c,c++,还是pascal,大家都一样,你认为c和c++编译器产生的机器代码会有所不同吗,你认为c++产生的机器代码会有访问限制吗?那么你错了。什么const,private,统统没有(const变量或许会放入只读数据段),它不会再给你任何的限制,你可以利用一切内存修改工具或者是自己写一个程序对某一进程空间的某一变量进行修改,不管它在你的印象中是private,还是public,对于此时的你来说都一样,想怎样便怎样。另外,你也不要为c++所提供的什么晚期捆绑等机制大呼神奇,它也仅仅是在所产生的代码中多加了几条而已,它远没有你想象的那么智能,所有的工作都是编译器帮你完成,真正到了执行的时候,计算机会完全按照编译器产生的代码一丝不苟的执行。你明白我在说什么吗?对了,如果你从前接触过汇编,只要你反汇编一段c++
|
阅读全文(1544) | 回复(0) | 编辑 | 精华 | 删除 |
[C/C++]虚函数 详细说明 |
虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。
下面是对C++的虚函数这玩意儿的理解。
一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)
简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。下面来看一段简单的代码
class A{
public:
void print(){ cout<<”This is A”<<endl;}
};
class B:public A{
public:
void print(){ cout<<”This is B”<<endl;}
};
int main
|
阅读全文(1742) | 回复(1) | 编辑 | 精华 | 删除 |
[linux]用GDB调试程序 |
用GDB调试程序
GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了
极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。
于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下的图形软件基本上是各自为
营,互相不能调用,很不利于各种软件的相互集成。在这里并不是要和Windows做个什么比较,所谓“寸有所长,尺有所短”,图形化工具还是有不如命令行
的地方。
|
阅读全文(1666) | 回复(0) | 编辑 | 精华 | 删除 |
[linux]core dump详解 |
zc9706 发表于 2007/11/18 20:15:47 | Core Dump?!
整理:Wilbur Lang
何谓 core?
在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明
者为王安),线圈就叫作 core ,用线圈做的内存就叫作 core memory。如今
,半导体工业澎勃发展,已经没有人用 core memory 了,不过,在许多情况下,
人们还是把记忆体叫作 core 。
何谓 core dump? |
阅读全文(4035) | 回复(0) | 编辑 | 精华 | 删除 |
|