2015年4月
文章平均质量分 61
u010154760
这个作者很懒,什么都没留下…
展开
-
预编译
预编译又称为预处理,是做些代码文本的替换工作。是整个编译过程的最先做的工作。1、释义:预编译又称为预处理,是做些代码文本的替换工作。处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等就是为编译做的预备工作的阶段主要处理#开始的预编译指令2、编译指令:预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任转载 2015-04-10 13:34:20 · 452 阅读 · 0 评论 -
style中的clear:both
style中的clear:both在CSS中我们会经常要用到“清除浮动”Clear,比较典型的就是clear:both;CSS手册上是这样说明的:该属性的值指出了不允许有浮动对象的边。这个属性是用来控制float属性在文档流的物理位置的。当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float转载 2015-04-10 21:46:03 · 552 阅读 · 0 评论 -
c语言的位取反和按位异或
//如果a = 2,那么二进制位 0 000 0010,~ (a)的二进制就是 1 111 1111.结果不该为-3啊,请问这个位运算符是怎么取反的啊。谢谢!#include #include int main (void){ int a = ~(2); printf ("%d\n",a); //为什么结果是-3system ("pause");return 0;转载 2015-04-10 13:21:44 · 14618 阅读 · 0 评论 -
Java中设置classpath、path、JAVA_HOME的作用
Thinking in Java对classpath作用的解释 Java 解释器的工作程序如下: 首先,它找到环境变量CLASSPATH(将Java 或者具有Java 解释能力的工具——如浏览器——安装到机器中时,通过操作系统进行设定)。CLASSPATH 包含了一个或多个目录,它们作为一种特殊的“根”使用,从这里展开对.class 文件的搜索。从那个根开始,解释器会寻找包名,转载 2015-04-10 13:32:26 · 499 阅读 · 0 评论 -
windows分页管理机制
存储器分页管理80386开始支持存储器分页管理机制。分页机制是存储器管理机制的第3二部分。段管理机制实现虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换,分页管理机制实现线性地址到物理地址的转换。如果不启用分页管理机制,那么线性地址就是物理地址。本文将介绍80386的存储器分 页管理机制和线性地址如何转换为物理地址。一>存储器分页管理机制 在保护模转载 2015-04-10 18:59:18 · 1379 阅读 · 0 评论 -
linux ls和 ll 命令
ll 命令列出的信息更加详细,有时间,是否可读写等信息 ll命令和ls -l命令结果区别:上面结果说明:ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,说明这两个命令还是不等同的!ls 只列出文件名或目录名列表ll -t 是降序, ll -t | tac 是升序ll不是命令,是ls -l的别名ls转载 2015-04-05 21:33:34 · 464 阅读 · 0 评论 -
linux命令总结
文件系统:1,du 统计目录(或文件)所占磁盘空间的大小。用法:du -sh path 或 du - sm path2,ll将当前目录的文件升序或降序列举出来。以列表的方式显示文件名、链接数目、所有者、组、大小(按字节)和每个文件最近一次修改时间。 用法:ll -t 是升序,ll -t | tac 就是降序转载 2015-04-05 21:35:16 · 666 阅读 · 0 评论 -
linux中的ll
操作系统:ubuntu 9.04ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便。如果要使用此命令,可以作如下修改:打开 ~/.bashrc找到 #alias ll=’ls -l’,去掉前面的#就可以了。(关闭原来的终端才能使命令生效)这样个人用户可以使用ll命令,当切换转载 2015-04-05 21:38:51 · 640 阅读 · 0 评论 -
ubuntu下安装程序的三种方法
Linux系统中,软件通常以源代码或者预编译包的形式提供。(1)软件源代码需要编译为二进制的机器代码才能够使用,安装比较耗时,不过您可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化。(2)预编译的软件包,通常是由软件的发布者进行编译,您只要将软件拷贝到系统中就可以 了。考虑到预编译软件包的适用性,预编译软件包通常不会针对某种硬件平台优化。它所包含的功能和组件也是通用的组合。转载 2015-04-11 13:09:15 · 558 阅读 · 0 评论 -
Ubuntu下deb包的安装方法
deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix 等。以下是一些 Dpkg 的普通用法:转载 2015-04-11 13:12:13 · 444 阅读 · 0 评论 -
Win32 Debug CRT Heap Internals
… by Andrew Birkett (andy@nobugs.org)If you are lazy, skip the explanation and jump to the table at the bottom of the pageWhen you compile programs with DevStudio in debug mode, all of your转载 2015-04-22 15:09:27 · 651 阅读 · 0 评论 -
令人蛋疼的错误提示 0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab
在写C++程序的时候,老实0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab这种提示,不知何解,google之,错误是这样产生* 0xABABABAB : Used by Microsoft's HeapAlloc() to mark "no man's land" guard bytes after allocated h转载 2015-04-22 15:17:52 · 1646 阅读 · 0 评论 -
为什么说LINUX没有利用80X86微处理器的段分页机制实现程序分段?
Linux内核采用页式存储管理。虚拟地址空间划分成固定大小的“页面”,由MMU在运行时将虚拟地址“映射”成(或者说变换成)某个物理内存页面中的地址。与段式存储管理相比,页式存储管理有很多好处。首先,页面都是固定大小的,便于管理。更重要的是,当要将一部分物理空间中的内容换出到磁盘上的时候,在段式存储管理中要将整个段(通常都很大)都换出,而在页式存储管理中则是按页进行,效率显然要高得多。页式存储管理与转载 2015-04-10 20:23:02 · 981 阅读 · 0 评论 -
深度优先遍历与广度优先遍历
深度优先遍历 1.深度优先遍历的递归定义 假设给定图G的初态是所有顶点均未曾访问过。在G中任选一顶点v为初始出发点(源点),则深度优先遍历可定义如下:首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。若此时图中仍有未访转载 2015-04-22 16:23:47 · 426 阅读 · 0 评论 -
cpu如何区分指令和数据
计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。 把指令和数据分开放是为了安全和逻辑结构清晰。 随便指令和数据存放的格式一样,但是访问他们的时机不同 在取指令时期,cpu通过指令流取指令,存放在指令寄存器, 然后解释并执行指令,在执行指令时期,cpu通过数据流取数据,转载 2015-04-22 20:33:10 · 12246 阅读 · 0 评论 -
linux系统rpm安装包详解
rpm好像不能指定安装路径! 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --nod转载 2015-04-11 13:16:41 · 545 阅读 · 0 评论 -
指令集简介
指令集或指令集体系:是计算机体系结构中与程序设计有关的部分,包含了基本数据类型、指令集、寄存器、寻址模式、中断、异常处理以及外部的I/O。指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。 指令集的分类:(1)、复杂指令集计算机包含许多应用程序中很少使用的特定指令;(2)、精简指令集计算机通过只执行在程序中经常使用的指令来简化处理器的结转载 2015-04-11 17:16:49 · 1091 阅读 · 0 评论 -
tar命令的详细解释
tar命令[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip转载 2015-04-11 17:19:47 · 426 阅读 · 0 评论 -
ubuntu 内核源码下载及编译
1.查看当前系统原码版本$ apt-cache search linux-sourcelinux-source - Linux kernel source with Ubuntu patcheslinux-source-2.6.35 - Linux kernel source for version 2.6.35 with Ubuntu patches2.下载源码$转载 2015-04-11 13:17:42 · 3683 阅读 · 0 评论 -
网络基础知识1:集线器,网桥,交换机
最近一直在看网络方面的东东,先把基础的东西总结一下,注意:以下的概念现在已经不一定准确了,因为硬件发展相当迅速,集成电路的集成度越来越多高,拿交换机为例,现在俗称交换机的东西已经具有一定的路由器的功能了,有些时候很多概念已经混在了一起。而下面讲到的内容是最基本的概念,和你现在实际上能看到的可能不一样了,但是思想是一样的。咳咳,下面是我自己最近看资料总结的,如有错漏之处,也请大家指出:>一.转载 2015-04-07 10:44:35 · 618 阅读 · 0 评论 -
char* 和char[]的区别
以下内容均来自互联网,系笔者汇总并总结。1. 问题介绍问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确。程序演示:测试环境Devc++代码#include using namespace std;main(){转载 2015-04-07 14:36:17 · 340 阅读 · 0 评论 -
SELinux深入理解
1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。 Security-Enhanced Linux (SELinux)由以下两部分组成: 1) Kernel SELinux模块(/kernel/security/selinux) 2) 用户态工具 SELinux是一个安全体系结构,它通过转载 2015-04-07 14:15:12 · 390 阅读 · 0 评论 -
linux 查看用户所在组(groups指令的使用) 含实例
经常将某个文件夹的权限赋给某个用户的时候,也需要配置该用户所在的组,因此,我们需要查看该用户有哪些组,我们可以使用如上命令查看用户所在组[oracle@gl ~]$ vi /etc/grouproot:x:0:rootbin:x:1:root,bin,daemondaemon:x:2:root,bin,daemonsys:x:3:root,bin,admad转载 2015-04-07 12:31:39 · 18960 阅读 · 0 评论 -
函数调用栈空间的分配和释放
1 函数执行的时候有自己的临时栈 (c++中函数调用时有两个栈空间,对象的栈空间和函数的栈空间) 2 函数的参数就在临时栈中,如果函数传递实参过去,则用来初始化临时参数变量。#include int add(int a,int b){ printf("%d,%d\n",a,b); return a+b;}int main(){ int转载 2015-04-07 18:48:40 · 3698 阅读 · 1 评论 -
进程使用的内存空间分布情况
bug fixed 系列之二 : 进程内存空间分布情况分类: 3:bug 分析与解决2014-01-24 15:01 6人阅读 评论(0)收藏 举报本文章为原创,欢迎交流,欢迎转载;转载请勿篡改内容,并且注明出处,谢谢!本文重点论述进程内存的空间布局,目的是明白在程序运行时,即执行code时,具体是操作的那块内存。虚拟内存管理:操作系统一转载 2015-04-07 15:36:19 · 1077 阅读 · 0 评论 -
C++经典面试题
1、int a=5,则 ++(a++)的值是()A、5 B、 6 C、7 D、逻辑错误a++返回的是一个临时变量,这里是右值,不能再前面++了2、下面的代码输出什么?(取地址运算符比+运算符的优先级要高)[cpp] view plaincopyint main(void) {转载 2015-04-07 19:14:00 · 377 阅读 · 0 评论 -
BIN与ELF
ELF格式的可执行文件中包含很多BIN以外的信息,用readelf工具可以读出来。比如 想把同一个源码编译出来的BIN和ELF都下载到0x8a000000地址1.对于BIN来讲,是纯粹的数据,如果没有偏移量的话,ICE2默认是下载到0x00000000地址的,所以要有0x8a000000的偏移。2.对于ELF来讲,其中包含着程序的入口点地址,ICE2会去读这个地址(假设是转载 2015-04-07 20:48:21 · 408 阅读 · 0 评论 -
linux下切换用户命令
su 普通用户名从root 切换到普通用户不需要密码如果要登录时候家在该用户的shell就用 su - 普通用户名来源:http://zhidao.baidu.com/link?url=z5W1KFEb_vU1BQiv6_ep2-sgcS5a2SBmcU-FtsjGlsaEGiviPJwVNN-tZBWbPay9pKaquiWytIFfbOT1转载 2015-04-07 12:30:14 · 1036 阅读 · 0 评论 -
linux shell数据重定向(输入重定向与输出重定向)详细分析
在了解重定向之前,我们先来看看linux 的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值。 linux启动后,会默认打开3个文件描述符,分别是:标准输转载 2015-04-19 12:42:12 · 324 阅读 · 0 评论 -
Linux Shell 通配符、元字符、转义符使用实例介绍
Linux Shell 通配符、元字符、转义符使用实例介绍说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例:1 1234[chengmo@localhost ~/shell]$ls转载 2015-04-19 12:44:36 · 335 阅读 · 0 评论 -
内存中常见异常值
程序代码:#includeusing namespace std;int main(){ char a[5]; for(int i=0;i<5;i++) cout<<(int)a[i]<<endl; system("PAUSE"); return 0;}运行结果:原因分析:-52就是0xCC,另外根据* 0xcccccccc : Used by Mic原创 2015-04-07 18:55:03 · 384 阅读 · 0 评论 -
rm -rf 血的教训
rm -rf 慎用 命令敲得多了,常在河边走,难免会湿鞋 昨天,一个手误,敲错了命令,把原本想要留的文件夹给rm -rf掉了 几天心血全木有了,靠,死的心都有了 经百度,google以及尝试无果,哎,这个以后再研究怎么找回吧 几点教训: 1.rm 特别是rm -rf之前,小心,三思,转载 2015-04-07 20:58:44 · 642 阅读 · 0 评论 -
代码段
在采用段式内存管理的架构中,代码段(code segment / text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许程序自修改(en:self-modifying code)。 在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。操作系统在装载一个程序转载 2015-04-07 18:52:33 · 418 阅读 · 0 评论 -
bin与elf
文件的内容:1. BIN文件是 raw binary 文件,这种文件只包含机器码。2. ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等。所以ELF文件的体积比对应的BIN文件要大。文件的执行:1. 执行raw binary很简单,只需要将程序加载到其起始地址,就可以执行; FILE *fp = fopen("vmli转载 2015-04-07 20:50:53 · 571 阅读 · 0 评论 -
写下你职业生涯中最难以忘怀的误操作。。
http://bbs.chinaunix.net/thread-2076933-11-1.html转载 2015-04-07 21:00:06 · 406 阅读 · 0 评论 -
陈正冲老师讲c语言之内存的申请malloc() 和释放free()
1.如何使用 malloc 函数 不要莫名其妙,其实上面这段小小的对话,就是malloc的使用过程。malloc是一个函数,专门用来从堆上分配内存。使用malloc函数需要几个要求:内存分配给谁?分配多大内存?是否还有足够内存分配?内存的将用来存储什么格式的数据,即内存用来做什么?分配好的内存在哪里?如果这五点都确定,那内存就能分配。下面先看转载 2015-04-07 15:33:12 · 5542 阅读 · 0 评论 -
rsyslog
RSYSLOG is the rocket-fast system for log processing.本地Rsyslog版本: 7.4.4配置基本语法Rsyslog 现在支持三种配置语法格式:sysklogdlegacy rsyslogRainerScriptsysklogd 是老的简单格式,一些新的语法特性不支持。legacy rsyslo转载 2015-04-23 15:26:37 · 2525 阅读 · 0 评论 -
malloc()和calloc()区别 以及memset()
在进行C/C++编程的时候,需要程序员对内存的了解比较好清楚,经常需要操作的内存可分为下面几个类别:堆栈区(stack):由编译器自动分配与释放,存放函数的参数值,局部变量,临时变量等等,它们获取的方式都是由编译器自动执行的堆区(heap):一般由程序员分配与释放,基程序员不释放,程序结束时可能由操作系统回收(C/C++没有此等回收机制,Java/C#有),注意它与数据结构中的堆是两回事,转载 2015-04-07 18:42:03 · 864 阅读 · 0 评论 -
elf解析
ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西、以及都以什么样的格式去放这些东西。它自最早在 System V 系统上出现后,被 xNIX 世界所广泛接受,作为缺省的二进制文件格式来使用。可以说,ELF是构成众多xNIX系统的基础之一,所以作为嵌入式Linux系统乃至内核驱动程序开发人转载 2015-04-07 20:52:10 · 661 阅读 · 0 评论 -
#!/usr/bin/env bash 解释
ubuntu将应用程序放到桌面上,系统会自动生成一个脚本文件。打开脚本文件第一行可以看到 #!/usr/bin/env xdg-open 不明白env在这里的用意是什么,于是google了一下, Probably the most common use of env is to find the correct interpreter for a script, when转载 2015-04-07 22:51:13 · 4619 阅读 · 0 评论