上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 23 下一页
  2012年6月8日
摘要: -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。 好了现在我们知道怎么得到库名了,比如我们自已要用到一个第三方提供的库名字叫libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-ltest参数,我们就能用上libtest.so库了(当然要用libtest.so库里的函数,我们还需要与libtest.so配套的头文件)。放在/lib和/usr/lib和/usr/local/lib里的库... 阅读全文
posted @ 2012-06-08 09:48 york_hust 阅读(414) 评论(0) 推荐(0) 编辑
  2012年6月7日
摘要: 研究了很久的KVM,感觉是我用过的最快的虚拟机。对比常用的虚拟机,Vmware的功能全面,设置简单,但其速度不是很好;VirtualBox的效率虽然比Vmware高一些,但是存在不少缺点,感觉在运行时比较抢CPU,现在virtualbox已经支持smp,和虚拟化技术,但整体效率还是没有KVM高(但是图形效率作的不错);KVM(Kernel-based Virtual Machine),基于内核的虚拟机,是我用过的最快的虚拟机,需要CPU支持虚拟化技术,并且在BIOS里打开虚拟化选项,效率可达到物理机的80%以上,对SMP的支持很好。所以现在强烈吐血卖命推荐KVM。(注:在原文最下面添加了版虚拟 阅读全文
posted @ 2012-06-07 15:33 york_hust 阅读(4857) 评论(1) 推荐(0) 编辑
  2012年6月5日
摘要: 全局变量是在所有函数体的外部定义的,程序的所有部分(甚至其他文件中的代码)都可以使用.全局变量不受作用哉的影响,总是可用的(也就是说,全局变量的生命期一直到程序的结束)局部变量出现在一个作用域内,它们是局限于一个函数的.局部变量经常被称为自动变量,因为它们在进入作用域时自动生成,离开作用域时自动消失.静态变量是指那些本不应该在程序整个生命期里存在的变量可以在程序的整个生命期里存在的变量(如局部变量),要达到这样的效果,只要在这样的变量前加上static就可以了,static变量的是在函数范围之外他是不可用的,所以它不可能被轻易地改变,这会使错误局部化,static的另一个意思是:在某个作用域外 阅读全文
posted @ 2012-06-05 15:15 york_hust 阅读(4709) 评论(0) 推荐(1) 编辑
  2012年6月4日
摘要: FreeBSD中文wikihttp://wiki.freebsdchina.org制作FreeBSD-USB安装盘IMG映像文件下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.4-RELEASE/floppies/。在当前目录下执行,#dd if=FreeBSD-8.2-RELEASE-i386-memstick.img of=/dev/da0[设备名] bs=64k如何设定网络修改/etc/rc.conf,需要/etc/rc.d/netif重起,或reboot才能生效。ifconfig_re0="inet 192.168.0 阅读全文
posted @ 2012-06-04 10:17 york_hust 阅读(3004) 评论(1) 推荐(0) 编辑
  2012年6月1日
摘要: 第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。第二:类的继承后方法属性变化。private 属性不能够被继承。使用private继承,父类的prot 阅读全文
posted @ 2012-06-01 15:10 york_hust 阅读(20525) 评论(0) 推荐(3) 编辑
摘要: 很多人不是很明白GCC与G++的区别gcc和g++都是GNU(组织)的一个编译器。误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。 阅读全文
posted @ 2012-06-01 15:07 york_hust 阅读(338) 评论(0) 推荐(0) 编辑
摘要: #include <string>#include <iostream>using namespace std;class A{ const string name; public: A(const string& id=""):name(id){} ~A(){} void print(){ cout << name<<endl; }};class B{ string name; public: B(const string id){name=id;} ~B(){}... 阅读全文
posted @ 2012-06-01 11:24 york_hust 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 编译器对于从现有的对象产生新的对象这一事件的处理不近如人意一般的拷贝,如函数参数为对象时,编译器会把这个对象完整的拷贝一份,这样的拷贝被称为"位拷贝",但是这样拷贝可能带来问题,如在构造函数中我们有对这个对象的一些初始化,比如记录这个对象创造的时间,然后把这个时间存在对象中,如果使用"位拷贝",那么拷贝得到的对象的时间值和原对象是相同的,不仅函数参数为对象时会出现这样的问题,函数返回值为对象时也会出现这样的问题解决这个问题的方法就是写一个拷贝构造函数,X(X& x)是类X的拷贝构造函数,如果有这个构造函数,编译器在进行对象拷贝时就会先调用这个拷贝 阅读全文
posted @ 2012-06-01 09:59 york_hust 阅读(189) 评论(0) 推荐(0) 编辑
  2012年5月31日
摘要: Transmission更新很快,建议您使用Ubuntu 10.04及以上版本,使用apt安装,本文即在如下环境下介绍。 Transmission分为很多类型,我们以Daemon即只有后台守护进程、没有GTK图形界面的为例子,这更适用于远程使用的情况。 1、安装Transmission #相关代码 #安装Transmission更新很快,建议您使用Ubuntu 10.04及以上版本,使用apt安装,本文即在如下环境下介绍。Transmission分为很多类型,我们以Daemon即只有后台守护进程、没有GTK图形界面的为例子,这更适用于远程使用的情况。1、安装Transmission#相关代码# 阅读全文
posted @ 2012-05-31 10:00 york_hust 阅读(9115) 评论(0) 推荐(0) 编辑
  2012年5月30日
摘要: assert宏的原型定义在assert.h中,其作用是如果它的条件返回错误,则终止程序执行. 原型定义: 1 #include "assert.h"2 void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 请看下面的程序清单badptr.c: 01 #include02 #include03 #include04 int main( void )05 {06 FILE *fp;07 08 fp =... 阅读全文
posted @ 2012-05-30 20:15 york_hust 阅读(2611) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 23 下一页