c编程在linux下才有意义
今天为了给顶嵌杯做准备又回到linux下开始c编程了。刚开始是练习写一个与矩阵变换有关的程序,为了节省时间有一个函数模块是直接用的以前在windows下编程时所使用的。结果在linux下编译完运行之后很快就崩溃了,由于调试水平不高弄了很久也不知到问题出在哪里。正在百思不得其解时忽然注意到(当然不是自己调试出来的)原来是自己在矩阵转置的时候没有修改这个矩阵对应的内存,于是就导致了内存访问异常。我晕了以前在windows下面这个函数模块经常被调用几十几百次都没提示什么,在这里一次就导致了程序的崩溃。不得不佩服linux的内存管理机制是多么的完善。
如果不是在linux下使用了这个模块还以为那个模块是对的呢。这太危险了,我想,虽然无论在哪里这类错误编译器是不会直接给出错误或警告的,但是在垃圾的windows下运行次数少的时候程序不会有内存访问异常的提示,如果这是大型的软件的其中一个模块一旦运行时间长了就会导致内存耗尽以至死机的现象出现。。。 而在linux下就不会出现类似的问题,因为一旦有内存访问异常(即使只有一个字节)在运行的时候也会给出出错标志,这对于锻炼人的动态内存使用能力是很有用的,而且在嵌入式(内存资源没有pc上那么丰富)编程时还会避免很多的问题出现。
相关文档:
转自:http://www.neatstudio.com/show-365-1.shtml
在ubuntu下面默认是不能mount samba共享的目录的,而在公司里,我不得不连接这样的目录,在windows下面的时候,samba共享就象windows的共享目录那样的方便,但是在linux下面就不是这样的了。
首先,你要下载smbmount,运行 :
apt-get install smbfs
然后就会安 ......
参考资料:http://www.blogjava.net/lijun_li/archive/2009/04/02/263491.html
http://www.chinalinuxpub.com/read.php?wid=1080
硬盘挂载操作工作步骤:
1、先查看目前机器上有几块硬盘,查看命令有两 ......
题目:输入三个字符串a,b和c,将a中b的第一次出现替换为c。
代码:
#include <iostream.h>
#include <string.h>
/*字符串替换,第一个参数为原串,第二个参数为要匹配的子串
第三个参数为要替换的第一个子串中包含第二个子串的部分*/
char *strReplace(char *str1,char *str2,char *str3);
void main() ......
转自: http://hi.baidu.com/elliott_hdu/blog/item/411421dd5bf8dfe977c63876.html
1.下列程序的输出结果为:(B)
#include<iostream.h>
void main()
{
char* a[ ] = { "hello", "the", "world"};
char** pa = a;
&nbs ......