常见问题
Yancygao
这个作者很懒,什么都没留下…
展开
-
ubuntu 无法挂载ntfs分区
今天重新进入ubuntu中,突然发现windows下D,E,F分区无法挂载,提示Error mounting /dev/sda6 at /media/gaoyuan/文档: Command-line`mount -t "ntfs" -o"uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177""/dev/sd原创 2013-06-06 11:17:04 · 3780 阅读 · 0 评论 -
Linux C语言动态库及静态库
假设在math目录下已编辑好add.c sub.c div.c mul.c func_point.c文件,func_point.c为包含main()的源文件! 动态库的制作: 方法一:gcc -c -fPIC add.c sub.c div.c mul.c //-c表示生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关gcc -shared -o libmymat原创 2013-08-09 10:44:41 · 983 阅读 · 0 评论 -
互斥锁为什么还要和条件变量配合使用
mutex体现的是一种竞争,我离开了,通知你进来。 cond体现的是一种协作,我准备好了,通知你开始吧。 互斥锁一个明显的缺点是它只有两种状态:锁定和非锁定。而条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起配合使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其他的某个线程改变了原创 2013-07-30 11:29:26 · 4038 阅读 · 4 评论 -
再议C语言第一节(C类型与运算)讲座整理
一、数据类型 1、float和double 首先先分享一下浮点数的相关知识。 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。 从存储结构和算法上来讲,double和float是一样的,不一样原创 2013-07-24 16:36:09 · 1048 阅读 · 0 评论 -
再议C语言第二节(数组与指针)讲座整理
首先先区分一下两个容易混淆的定义:数组指针是指向数组首元素的地址的指针,其本质为指针(这个指针存放的是数组首地址的地址,相当于2级指针,这个指针不可移动); 指针数组是数组元素为指针的数组,其本质为数组。例如:*p[2]是指针数组,实质是一个数组,里面的两个元素都是指针 []的优先级比*的优先级高,p先与[]结合,形成数组p[2],有两个元素的数组,再与*结合,表示此数组是指针类型的,每个数组原创 2013-07-24 19:22:15 · 902 阅读 · 0 评论 -
linux C 守护进程及其创建
涉及的概念:守护进程:在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。守护进程,也就是通常说原创 2013-07-24 11:10:37 · 1241 阅读 · 0 评论 -
linux C编程常见断错误总结
定义 所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gd tr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的 gdt表,后13位保存 相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向 的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起 始地址以及与此相应原创 2013-07-22 15:35:45 · 1298 阅读 · 0 评论 -
fstat、stat和lstat 区别
在介绍三者的区别之前,首先介绍的是一个非常重要的结构体类型,名字叫做struct stat,这是一个保存文件状态信息的结构体,其类型如下:struct stat { dev_t st_dev; /* 文件所在设备的标识 */ ino_t st_ino; /* 文件结点号 */ mode_t st_mode;原创 2013-07-19 15:01:06 · 1514 阅读 · 0 评论 -
C语言中关于INT_MIN宏的一些问题
在进行数据表达和运算的时候,二进制补码表示法是非常直观和快捷的,但是在数的上下界时往往会出现问题,这需要我们特别注意。例如在C语言的头文件里面看到 #define INT_MAX 2147483647 #define INT_MIN (-INT_MAX-1)在这里,INT_MIN 为什么不写成 -2147483648,-2147483648是一个常量表转载 2013-07-17 23:38:47 · 2793 阅读 · 0 评论 -
在ubuntu更新时,出现错误E: Some index files failed to download, they have been ignored, or old ones used inst
在ubuntu更新时执行命令sudo apt-get update出现错误E: Some index files failed to download, they have been ignored, or old ones used instead可以将目录下/var/lib/apt/lists/partial/所有的文件清掉qiong@gaoyuan-Rev-1-0:~原创 2013-07-15 15:10:21 · 28537 阅读 · 2 评论 -
linux下运行自己编写的C语言程序提示bash:./*** 权限不够
把所有的权限都加上chmod 777 然后在运行./原创 2013-07-15 10:40:37 · 12288 阅读 · 3 评论 -
安装中文版man手册,同时保留原英文版手册
在学习linux的过程中,有时需要用到man来查询命令,但是为了在学习的过程中锻炼自己阅读英文原版书籍的能力,建议阅读英文版的手册。将分一下几步:下载开源的man-pages 中文手册包 配置解压手册包 测试安装中文包一、在个人工作目录安装中文帮助手册 这样优点是每个用户,登陆进去都可以有自己的语言版帮助手册。大家直接手册不会被相互调用,独立而且灵活1、下转载 2013-07-14 13:52:59 · 3795 阅读 · 1 评论 -
ubuntu 常用技巧
系统:修改root用户密码:sudo passwd root编译环境安装:sudo apt-get install build-essential添加源:sudo gedit /etc/apt/sources.list更新相关命令:apt-cache search package 搜索包apt-cache show package 获取包的相关信息,如说原创 2013-07-14 14:33:43 · 798 阅读 · 0 评论 -
输入密码不回显,但是linux C下无getch()
#include #include #include int getch(void) { struct termios tm, tm_old; int fd = STDIN_FILENO, c; if(tcgetattr(fd, &tm) < 0) return -1;原创 2013-06-06 20:59:28 · 1058 阅读 · 0 评论 -
中缀表达式转换为后缀表达式并求值(栈的使用)
中缀表达式转换为后缀表达式并求值(栈的使用)中缀表达式如2*3+(4-3), 其运算符一般出现在操作数之间, 因此称为中缀表达式,也就是大家编程中写的表达式。编译系统不考虑表达式的优先级别, 只是对表达式从左到右进行扫描, 当遇到运算符时, 就把其前面的两个操作数取出, 进行操作。为达到上述目的, 就要将中缀表达式进行改写,变为后缀表达式 如上面的表达式2*3+(4-3), 就变为原创 2013-10-08 23:56:18 · 2923 阅读 · 0 评论