随笔 - 1  文章 - 1218  评论 - 155  阅读 - 516万

文章分类 -  Linux/Unix

1 2 下一页
Linux学习进阶路线图
摘要:摘自:http://blog.csdn.net/zdwzzu2006/article/details/4334791 阅读全文
posted @ 2017-07-27 15:30 carekee 阅读(5199) 评论(3) 推荐(0) 编辑
linux上进程状态查询
摘要:linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) ps工具标识进程的5种状态码: D 不可中断 uninterruptible sleep (usually IO) R 运行 runnable (on run queue) S 中断 slee 阅读全文
posted @ 2013-08-13 17:22 carekee 阅读(434) 评论(0) 推荐(0) 编辑
linux c获得时间和设置时间
摘要:[c-sharp] view plaincopyprint?#include//C语言的头文件 #include//C语言的I/O voidmain(){time_tnow;//实例化time_t结构 structtm*timenow;//实例化tm结构指针 time(&now);//time函数读取现在的时间(国际标准时间非北京时间),然后传值给now timenow=localtime(&now);//localtime函数把从time取得的时间now换算成你电脑中的时间(就是你设置的地区) printf("Localtimeis%s/n",asctim 阅读全文
posted @ 2013-08-12 09:24 carekee 阅读(31757) 评论(0) 推荐(0) 编辑
secureCRT无法连接到sles11解决办法
摘要:今天使用虚拟机安装了suse linux enterprise server 11,想使用secureCRT连接,但总是连接不上,因为安装的时候就把防火墙关掉了,就没再考虑,而且外面的xp和suse是可以ping通的,很奇怪,网上搜了一下,解决办法如下:SUSE 默认的防火墙设置为禁止所有外来联结。如果你想开放某个端口的话,就得修改防火墙设置开放这个端口。手动修改:#vi/etc/sysconfig/SuSEfirewall2#TCP 端口的情况:FW_SERVICES_EXT_TCP="6000" // 打开6000 的端口, 这里填上ssh 就能接收 //SecureC 阅读全文
posted @ 2013-08-01 19:24 carekee 阅读(381) 评论(0) 推荐(0) 编辑
"undefined reference to" 问题解决方法
摘要:最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13):undefinedreferenceto`func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(.o)测试代码如下: 然后编译。gcc-ctest.c gcc–cmain.c 得到两个 .o 文件,一个是 main.o,一个是 test.o ,然后我们链接 .o 得到可执行程序:gcc-omainmain.o 这时,你会发现 阅读全文
posted @ 2013-08-01 15:26 carekee 阅读(379) 评论(0) 推荐(0) 编辑
Linux下各种常见环境变量的配置
摘要:Linux系统下各种环境变量都通过修改/etc/profile文件来实现。由于是系统文件,修改此文件需要root权限。因此实现以下功能都需要用户拥有root权限。另:不要轻易修改profile文件中的现有内容。应在保证原有内容不变的前提下,在文件的最后插入新的一行。1.路径变量PATH当用户在某工作目录执行一个命令或者可执行程序时,若当前路径下不存在该程序,则系统将从PATH路径列表中查找指定的应用程序。还记得java命令,ping命令么?这些应用程序所在的文件夹都包含在了PATH路径中。修改方法:在profile文件末尾插入新的一行,写入 export PATH={YourPath}:$PA 阅读全文
posted @ 2013-08-01 11:26 carekee 阅读(4525) 评论(0) 推荐(0) 编辑
Linux下C++开发工具介绍
摘要:就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。 Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake。它们以集成方式提供给最终用户,对于初学者而言十分方便。但是,这种商业模式,直接导致用户可定制性差,不利于自动化,集成第三方工具的能力弱。例如,无法定制一些宏来处理一些重复操作;体会不到 阅读全文
posted @ 2013-07-31 16:55 carekee 阅读(22441) 评论(0) 推荐(0) 编辑
gcc编译器使用学习笔记
摘要:编译器里有深厚的数学理论和计算机理论一、基本选项GCC是开源软件中的一个顶级的C编译器gcc -Wall -o hello hello.c-W是打开警告选项-all打开所有-v显示详细信息-c只编译产生目标文件,不产生可执行文件,就是产生.o文件GCC不存在链接次序的问题,但最好遵守定义在后、调用在前的规则有效的管理庞大的项目,有make二、链接外部库标准库:gcc -Wall main.c /usr/lib/libm.a -o calcgcc -Wall main.c -lm -o calc-lm相当于libm.a (仅对标准库)-I选项指明了在哪个目录下搜索头文件gcc -Wall -I/ 阅读全文
posted @ 2013-07-31 16:54 carekee 阅读(445) 评论(0) 推荐(0) 编辑
SUSE sles11安装配置
摘要:安装过程比较简单,值得一提的是,sles11有两张dvd,如果只是安装,dvd1(2.7g左右)就足够了。另外,安装过程中我选择了直接禁止防火墙,个人开发使用,没有必要同时可以省却很多配置麻烦。 安装过程还是比较顺利的,基本没有出现意外,一路顺风的完成并进入桌面,开始以下配置:(1) 开启网络服务 suse 默认使用ssh做telnet登录,同时没有开启ftp,因此需要修改一下。 直接yast2 -> xinetd, 默认是禁止,修改为启动。 然后选需要的服务,有些需要安装,好在都是安装盘的源里面带有的。 至少ftp要安装一个吧?顺便把telnet也开启了,自己用不比考虑安全性的问题,简 阅读全文
posted @ 2013-07-31 14:00 carekee 阅读(1428) 评论(0) 推荐(0) 编辑
vi常用命令
摘要:O'Reilly的Learning The VI Editor,chm的电子版本,认真地学了一遍,总结了一下常用命令:文件操作vi +n file打开文件并移动到第n行vi + file打开文件并移动到最后一行vi R file / view file 只读打开文件:w保存:w!覆盖已存在的文件文件:w newfile保存为新文件:wq保存并退出ZZ保存并退出=:wq:q退出:q!退出不保存修改:e!退回到上一次保存的状态:1,10w newfile将第一行到第10行保存为新文件:.,$w >> file将当前位置到结尾的内容添加到别的文件:r file读取file文件的内 阅读全文
posted @ 2013-07-31 13:57 carekee 阅读(1155) 评论(0) 推荐(1) 编辑
mysql SUSE SLES11 安装配置笔记(转)
摘要:SUSE SLES11 上安装配置mysql的笔记,分享并备忘。 (1) 下载 从mysql官网 下载到最新的发行版本5.1.45,简单起见,直接下载SLES11的RPM版本:MySQL-server-community-5.1.45-1.sles11.i586.rpmMySQL-client-community-5.1.45-1.sles11.i586.rpmMySQL-shared-community-5.1.45-1.sles11.i586.rpm 对mysql版本的选择,个人意见,如果是作为产品首先考虑稳定性和性能,功能够用即可,版本上谨慎保守一些,但是作为一般开发用用,追追新也无所谓 阅读全文
posted @ 2013-07-31 13:55 carekee 阅读(6122) 评论(0) 推荐(0) 编辑
在Qt中如何编写插件,加载插件和卸载插件(转)
摘要:Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库。由于在开发项目的过程中,要开发一套插件系统,就使用了Qt的这套类库。一 编写插件 编写一个Qt的插件需要以下步骤1.声明一个插件类,2.定义一个类,实现这个插件类定义的接口,定义的这个类必须从QObject集成下来。3.使用Q_INTERFACESQ_INTERFACES()告知Qt的元系统这个接口的存在3.使用宏Q_EXPORT_PLUGIN2()来导出插件的接口4.编写插件类的.pro文件下面是一个插件的例子class Filte 阅读全文
posted @ 2013-06-05 11:12 carekee 阅读(11394) 评论(0) 推荐(0) 编辑
QLibrary&QPluginLoader 和plugin(转)
摘要:QLibraryQLibrary 使用各平台提供的标准API从DLL和共享对象中解析C符号。在Unix中使用 dlopen()/dlsym() ,在Windows中使用 GetProcAddress。Qt 插件插件基础描述了编写插件的一些基本概念。Qt的插件机制是为使用Qt的插件服务的。它提供了一堆宏,可以帮助我们创建生成插件对象的C函数,并生成元信息(通过moc)以判断对象是否实现了接口。由于Qt的插件使用Qt,它也验证插件是否是用和编译应用程序本身的兼容的Qt编译的。考虑用于本文的下列基本的Qt插件的代码:123456789101112131415161718// toolinterfac 阅读全文
posted @ 2013-06-05 11:11 carekee 阅读(6276) 评论(1) 推荐(0) 编辑
在windows 和 linux下引入hash_set、hash_map头文件(转)
摘要:推荐使用方法:在源代码的前面写入一下代码:// just for "#include <hash_*>" in linux#if__GNUC__>2#include<ext/hash_set>#include<ext/hash_map>usingnamespace__gnu_cxx;#else#include<hash_set>#include<hash_map>usingnamespacestdext;#endif其它解释和方法:因为hash_map以前不属于标准库,而是后来引入的。所以在windows下需 阅读全文
posted @ 2013-04-18 16:56 carekee 阅读(2295) 评论(0) 推荐(0) 编辑
linux hash_map(转)
摘要:为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典 ... 这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得所有的记录,然后按照名字一个一个比较。如果要速度快,就需要把这些记录按照字母顺序排列,然后按照二分法查找。但是增加记录的时候同时需要保持记录有序,因此需要插入排序。考虑到效率,这就需要用到二叉 阅读全文
posted @ 2013-04-18 15:51 carekee 阅读(3862) 评论(0) 推荐(0) 编辑
Red Hat Linux 9光盘启动安装过程图解
摘要:软件介绍RedHatLinux是目前世界上使用最多的Linux寒作系统。因为它具备最好的图形界面,无论是安装、配置还是使用都十分方便,而且运行稳定,因此不论是新手还是老玩家都对它有很高的评价。现在,RedHatLinux又出了9.0新版本,在原有的基础上又有了很大的进步。它完善了图形界面,增强了硬件的兼容性,安装起来更加得心应手,尤其增强了多媒体方面的能力——新版本的XFree4.0.1使你能够在Linux下播放多媒体文件。它还采用了OpenSSL128位加密技术,使你的网络通信更加安全;最新的内核;提供了USB接口的鼠标和键盘的支持;提供了更加容易配置和管理的图形桌面以及图形界面的内核调整和 阅读全文
posted @ 2012-12-25 19:57 carekee 阅读(290) 评论(0) 推荐(0) 编辑
linux中atomic的实现理解(搞成1条汇编指令)
摘要:1 typedef struct { volatile int counter; } atomic_t; ----- volatile意思是不要对其进行优化,这里如果不优化的话就会被汇编成直接访问内存地址,而不是操作寄存器。2 #define automic_set(v, i) (((v)->counter) = (i)) ----- 会被汇编成一条访问内存的指令。3 Atomic_add(int i, atomic_t *v)static __inline__ void atomic_add(int i, atomic_t *v){__asm__ __volatile__(LOCK & 阅读全文
posted @ 2012-12-18 14:48 carekee 阅读(955) 评论(0) 推荐(0) 编辑
无锁(lock-free)数据结构
摘要:提到并行计算通常都会想到加锁,事实却并非如此,大多数并发是不需要加锁的。比如在不同电脑上运行的代码编辑器,两者并发运行不需要加锁。在一台电脑上同时运行的媒体播放放器和代码编辑器,两者并发运行不需要加锁(当然系统调用和进程调度是要加锁的)。在同一个进程中运行多个线程,如果各自处理独立的事情也不需要加锁(当然系统调用、进程调度和内存分配是要加锁的)。在以上这些情况里,各个并发实体之间没有共享数据,所以虽然并发运行但不需要加锁。多线程并发运行时,虽然有共享数据,如果所有线程只是读取共享数据而不修改它,也是不用加锁的,比如代码段就是共享的“数据”,每个线程都会读取,但是不用加锁。排除所有这些情况,多线 阅读全文
posted @ 2012-12-18 14:47 carekee 阅读(2031) 评论(0) 推荐(0) 编辑
linux 互斥锁应用实例
摘要:/*这是一个使用互斥锁实现两个线程之间同步实例,一个线程负责从标准输入设备中读取数据,而另一个线程则负责将读入的数据输出到标准输出设备上*/#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <pthread.h>#include <semaphore.h>#include <string.h>void *thread_function(void *arg);pthread_mutex_t work_mutex; //全局互斥锁对象,首先应该定义 阅读全文
posted @ 2012-11-09 10:09 carekee 阅读(2313) 评论(0) 推荐(0) 编辑
例解 autoconf 和 automake 生成 Makefile 文件
摘要:引子无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到 make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系。但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战。幸而有GNU 提供的Autoconf及Automake这两套工具使得编写makefile不再是一个难题。本文将介绍如何利用 GNU Aut 阅读全文
posted @ 2012-11-08 17:36 carekee 阅读(239) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示