11. Linux常用的显示命令
pwd:显示当前工作目录。
ls –l :显示当前工作目录的所有文件。
time cmd/pro :显示cmd命令或pro程序的执行时间。
date :显示当前日期。加-s修改日期和时间,但必须有最高权限。
clock:显示当前时钟。
cal :显示当前日历,加-y,显示全年日历。
last bad:最近一次不成功的登录信息。
cat /proc/cpuinfo:显示cpu信息。
locale:显示当前使用的语言。
free:显示当前内存和交换分区的使用情况。
hostname:显示本地主机名称。
stat filename:显示文件的详细信息。
uname -a:显示操作系统信息。
lsmod: 显示目前已经加载的内核模块。
runlevel:显示当前的运行级别。
uptime:显示系统从上次启动到现在的运行时间。
ps –aux:显示所有的进程信息。
ps –u user:显示某个用户的所有进程。
top:实时动态的显示占用资源最多的进程信息,直到按下q退出。
history:显示曾经用过的命令,最多500条。!cmdNum可以快速重复历史命令。
pstree –p:显示进程树及进程号。
mesg:查看是否允许接收其他用户用write发送的信息。
12.Linux系统中光盘和U盘的挂载和卸载
mkdir /mnt/cdrom
mount –t iso9660 /dev/cdrom /mnt/cdrom #挂载光盘
umount /dev/cdrom #卸载光盘
mkdir /mnt/flash
mount –t vfat /dev/sdb /mnt/flash #u盘的挂载
umount /dev/sdb #u盘的卸载
mkdir /mnt/disk
mount –t vfat /dev/sdc1 /mnt/disk #多分区的USB设备必须指定挂载的分区(或/dev/sdb1)
umount /dev/sdc1 #卸载分区
13.在MFC的编辑框中显示换行的办法
GetDlgItemText(IDC_RECV,AllText);//AllText是Cstring类对象
AllText += recvbuf;
AllText += "/r/n";
SetDlgItemText(IDC_RECV,AllText);
/*在上面的显示模块中,如果我们用UpdateData的方法,会使得"/r/n"或者'/n'都没有办法换行这是为什么呢?*/
14. float类型的变量,不可以直接与数字进行 ==或!=的判断。;例如:
float f;
if(f == 0.0)
{}else
{}
而应该写为:
float f;
if (f <= 0.00001 && f >= -0.00001)
{}else
{}
15. switch(表达式),中表达式应该是那种数据类型。
int 型,和char型可以;其他类型都不正确。
16. 关于单目运算符++和--
++和--只对单个的变量起作用,对表达式和常量都是非法的。例如:
int a,b;
(a+b)++;//非法
8++;//非法
int c = 10*a++;//应解释为c= 10*a;a++;因为++不能针对10*a这个表达式,只能针对a这
//个变量。
17. 给一个char类型的变量赋一个整数值时应该注意这个整数的取值范围。
不应该超过-128~127,这个范围。
18. 交换两个变量值的特殊算法
int a = 2,b = 1;
a = a + b;
b = a - b;
a = a - b;
19. 有两段代码,比较优劣
for()
{
if()
{}
else{}
}
/
if()
{
for()
}else
{
for()
}
前者的代码简洁易懂,但是效率低;后者效率高,但是易读性差。
20. 在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”?
答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字 与C语言的不同。假设某个函数的原型为: void foo(int x, int y);
该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int 之类的名字。
C++提供了C连接交换指定符号extern“C”来解决名字匹配问题。