Linux
Hustudent20080101
MFC Qt 瑞萨 ARM Linux
展开
-
Windows上模拟Linux环境的软件Cygwin
Cygwin是一个用于在Windows上 模拟Linux环境的软件。它可以作为那些虚拟机软件的一个部分替代品。运行Cygwin后,你会得到一个类似Linux的Shell环境,在其中你可以 使用绝大部分Linux软件和功能。如Gcc,Make,Vim,Emacs等等。总之如果你想使用某个Linux下的功能,而windows上又找不到 好的替代品的话,你就可以用Cygwin。我使用的最频繁的是Gcc和转载 2012-04-14 21:57:34 · 725 阅读 · 0 评论 -
inux 写c++程序里. include的默认路径是什么
inux 写c++程序里. include的默认路径是什么/usr/include/usr/local/include 更多其它的路径请查看你的/etc/ld.so.confgcc的预编译工具cpp -v 能看到 #include "..." search starts here: #include search starts here: /usr/i转载 2012-05-27 21:02:53 · 659 阅读 · 0 评论 -
c++编译器Code::Blocks安装(Linux)
以下的安装参考“http://www.boobooke.com/bbs/viewthread.php?tid=5637&extra=page%3D2” 不过他的这个文档中有点点问题,也没有相关的链接。 安装过程: 安装环境: openSUSE 11.1 由于CodeBlocks是基于wxWidgets开发的,需要首先安装wxWidgets,然后才能够安装C转载 2012-05-27 21:43:44 · 703 阅读 · 0 评论 -
Linux中VMware虚拟机增加磁盘空间的扩容操作
用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装。如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置。通过上网搜集的资料,结合自己的实践,总结了如下扩大硬盘空间的详细步骤,希望对大家有帮助。(1)打开VMware,选择Edit Virtual mache settings,Utilities下拉框中找到Expa转载 2012-05-28 08:48:26 · 919 阅读 · 0 评论 -
Makefile
# 这是上面那个程序的Makefile 文件main:main.o mytool1.o mytool2.ogcc -o main main.o mytool1.o mytool2.omain.o:main.c mytool1.h mytool2.hgcc -c main.cmytool1.o:mytool1.c mytool1.hgcc -c mytool1.cmyto转载 2012-05-28 09:27:37 · 497 阅读 · 0 评论 -
AboutPID
#include #include #include #include int main(int argc,char **argv){pid_t my_pid,parent_pid;uid_t my_uid,my_euid;gid_t my_gid,my_egid;struct passwd *my_info;my_pid=getpid();parent_pid=getppi转载 2012-05-28 10:08:07 · 430 阅读 · 0 评论 -
3、守护进程的创建
3、守护进程的创建如果你在DOS 时代编写过程序,那么你也许知道在DOS 下为了编写一个常驻内存的程序我们要编写多少代码了.相反如果在Linux 下编写一个"常驻内存"的程序却是很容易的.我们只要几行代码就可以做到. 实际上由于Linux 是多任务操作系统,我们就是不编写代码也可以把一个程序放到后台去执行的.我们只要在命令后面加上&符号SHELL 就会把我们的程序放到后台去运行转载 2012-05-28 10:50:00 · 948 阅读 · 0 评论 -
2、文件的各个属性 3、目录文件的操作
2、文件的各个属性文件具有各种各样的属性,除了我们上面所知道的文件权限以外,文件还有创建时间,大小等等属性.有时侯我们要判断文件是否可以进行某种操作(读,写等等).这个时候我们可以使用access 函数.#include int access(const char *pathname,int mode);pathname:是文件名称,mode 是我们要判断的属性.可以取以下转载 2012-05-28 13:47:41 · 519 阅读 · 0 评论 -
4、管道文件
4、管道文件Linux 提供了许多的过滤和重定向程序,比如more cat等等.还提供了 | 道这种特殊的文件.系统调用pipe 可以创建一个管道.#include19int pipe(int fildes[2]);pipe 调用可以创建一个管道(通信缓冲区).当调用成功时,我们可以访问文件描述符fildes[0],fildes[1].其中fildes[0]是用来读转载 2012-05-28 15:50:37 · 509 阅读 · 0 评论 -
linux之helloworld编写
第一步:右键“新建终端”第二步:cd到home/imti用户目录下第三步:输入“vi test.c”新建test.c源文件。第四步:编写程序(注意:在linux下编写c程序时有些不同点要记得:)1.每个方法都必须有返回值。2.定义变量时。如for循环时不能“for(int i=0;i第五步:编写完成后保存退出。"Esc:wq"(Esc:q!为转载 2012-05-27 20:34:58 · 931 阅读 · 0 评论 -
找不到 X11/X.h Xm/Xm.h
求助,装了fedora11,找不到 X11/X.h Xm/Xm.h[问题点数:100分]sylvia829等 级:结帖率:100.00%楼主发表于:2012-03-20 18:06:25编译C++代码,error信息:找不到X11/X.h Xm/Xm.h可是系统上没有这两个文件呀!请问需要装什么插件或是其他系统,如red hat, ubtunu?对我转载 2012-05-28 08:56:12 · 3323 阅读 · 0 评论 -
2、进程的创建
2、进程的创建创建一个进程的系统调用很简单.我们只要调用fork 函数就可以了.#include pid_t fork();当一个进程调用了fork 以后,系统会创建一个子进程.这个子进程和父进程不同的地方只有他的进程ID 和父进程ID,其他的都是一样.就象符进程克隆(clone)自己一样.当然创建两个一模一样的进程是没有意义的.为了区分父进程和子进程,我们必须跟踪fork转载 2012-05-28 10:16:44 · 512 阅读 · 0 评论 -
[Emacs]linux下编译安装emacs23 cvs
[Emacs]linux下编译安装emacs23 cvs系统: ubuntu 7.10我现在2台机上在用这个版本,一台机是gnome, 另一台机是KDE,KDE上的emacs-gtk可以直接用scim输入了,但gnome据说是某session-daemon程序的问题导致不能激活外部输入法,我现在的解决方法是开一个terminal, 在terminal下用emacs -nw启动,这样就能转载 2012-05-28 11:22:03 · 776 阅读 · 0 评论 -
16.2.7 识别可运行程序
16.2.7 识别可运行程序以下几种方法可以用来识别可运行程序:? 识别可运行程序最快捷的方法之一就是查看它的存取权限。如果某个文件的可执行位(x)被置位,那么它就是一个可运行程序。但是,如果存取权限由于某种原因没有被正确设置,那么这种方法就不适用了。? 如果认为某个程序可能是一个可执行文件,可以试试使用“ man program”命令查看它的使用手页。? 检查某个转载 2012-05-27 20:41:28 · 691 阅读 · 0 评论 -
增加VMware虚拟机的磁盘空间
增加VMware虚拟机的磁盘空间2011-11-15 21:56:44标签:虚拟机 休闲 VMware 磁盘空间 动态扩展 做实验的时候搭建了VM环境,刚开始的时候是按默认的设置来的,没有特别注意磁盘空间的分配,今天突然发现C盘空间还剩2G多了,悲催的是我还只有一个磁盘一个分区,直接昏倒。重新安装一个系统环境挺麻烦的,然后我就百度谷歌了。还真有解决方法。现摘录如下,供转载 2012-05-28 08:40:16 · 1495 阅读 · 0 评论 -
连接确定的库
。虽然我们包括了正确的头文件,但是我们在编译的时候还是要连接确定的库。在Linux 下,为了使用数学函数,我们必须和数学库连接,为此我们要加入 -lm 选项。gcc -o temp temp.c –lm这样才能够正确的编译。对于一些常用的函数的实现,gcc 编译器会自动去连接一些常用库,这样我们就没有必要自己去指定了。有时候我们在编译程序的时候还要指定库的路径,这个时候我们转载 2012-05-28 09:54:36 · 478 阅读 · 0 评论 -
二、进程介绍
二、进程介绍1、进程的标志我们知道进程都有一个ID,那么我们怎么得到进程的ID 呢?系统调用getpid 可以得到进程的ID,而getppid 可以得到父进程(创建调用该函数进程的进程)的ID。#include pid_t getpid(void);pid_t getppid(void);进程是为程序服务的,而程序是为了用户服务的。系统为了找到进程的用户名,还为进程转载 2012-05-28 10:09:45 · 493 阅读 · 0 评论 -
三、文件操作 1、文件的创建和读写
三、文件操作1、文件的创建和读写我假设你已经知道了标准级的文件操作的各个函数(fopen,fread,fwrite 等等).当然如果你不清楚的话也不要着急.我们讨论的系统级的文件操作实际上是为标准级文件操作服务的.当我们需要打开一个文件进行读写操作的时候,我们可以使用系统调用函数open.使用完成以后我们调用另外一个close 函数进行关闭操作.#include #in转载 2012-05-28 11:03:37 · 795 阅读 · 0 评论 -
linux安装emacs23
linux安装emacs231.使用cvs下载最新版本cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs co emacs因为emacs-unicode-2分支已经并入tunk,所以直接下载head version即可,无需加 -r emacs-unicode-2直接去下ta转载 2012-05-28 11:12:40 · 508 阅读 · 0 评论 -
2、时间的测量
四、时间的概念1、时间表示在程序当中,我们经常要输出系统当前的时间,比如我们使用date 命令的输出结果.这个时候我们可以使用下面两个函数#include time_t time(time_t *tloc);char *ctime(const time_t *clock);time 函数返回从1970 年1 月1 日0 点以来的秒数.存储在time_t 结构之中.不过这转载 2012-05-28 15:57:20 · 518 阅读 · 0 评论 -
16.2.6 把软件包添加到用户的PATH语句中
16.2.6 把软件包添加到用户的PATH语句中如果你使用的是b a s h或者korn shell,就可以使用下面的方法把一个新的目录添加到 PAT H语句中:1) 登录进入你想改变其PAT H语句的帐户。注意 如果想一次性为全部用户改变PAT H路径,请以根用户身份编辑/ e t c / p r o f i l e文件。2) 输入“PATH = $PATH: addit转载 2012-05-27 20:06:40 · 636 阅读 · 0 评论 -
C++ IDE for Linux
C++ IDE for LinuxWindow 上MS VS一统天下,从VC6,VS2005,VS2008,一直到VS2010. 很久以前以为C/C++开发环境就只有MS。 当转到Linux 上面时,才发现大错特错。 IDE,大有选择。 就记录自己用到C/C++的IDE. 1. VIM/make/gdb/valgrind/profiler 开始之前不得转载 2012-05-27 21:14:53 · 812 阅读 · 0 评论 -
Linux下的wxWidgets静态编译实现
Linux下的wxWidgets静态编译实现2011年10月11日 14:42Slyar发表评论阅读评论文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。wxWidgets里的wxGTK不基于GNOME和KDE,因此可以独立运行与这2个桌面环境,只需要依赖GTK+和wxGTK库,由于这2个桌面转载 2012-05-27 22:00:08 · 951 阅读 · 0 评论 -
跨平台的C++开发环境 CodeLite IDE
跨平台的C++开发环境 CodeLite IDE48人收藏此软件, 我要收藏 / 提醒设置CodeLite IDE 是一个强大的开源,跨平台的 C/C++整合开发环境. 支持包括 Windows、Linux 和 Mac 系统下运行。亮点:1. 代码自动完成功能很强大2. 仿VS,很容易上手3. 界面更友好4. 与Subversion集成转载 2012-05-28 09:52:28 · 1347 阅读 · 0 评论 -
5、头文件和系统求助
4、程序的调试我们编写的程序不太可能一次性就会成功的,在我们的程序当中,会出现许许多多我们想不到的错误,这个时候我们就要对我们的程序进行调试了. 最常用的调试软件是gdb.如果你想在图形界面下调试程序,那么你现在可以选择xxgdb.记得要在编译的时候加入 -g 选项.关于gdb 的使用可以看gdb 的帮助文件.5、头文件和系统求助有时候我们只知道一个函数的大概形式,不记得确转载 2012-05-28 09:58:37 · 636 阅读 · 0 评论 -
linux emacs 安装
linux emacs 安装2008-07-31 22:11Emacs是具有很强的扩展性的一个文本编辑器. 但由于它强大的扩展性, 它的功能早已超越了一个文本编辑器. Emacs在程序员中十分流行, 很多人登录系统之后就把会Emacs打开, 使用它编写代码, 收发邮件, 登录新闻组, 访问Internet, 在IRC中与其他人讨论问题, 而直到注销登出的时候才会将E转载 2012-05-28 11:14:17 · 706 阅读 · 0 评论 -
3、计时器的使用
3、计时器的使用Linux 操作系统为每一个进程提供了3 个内部间隔计时器.ITIMER_REAL:减少实际时间.到时的时候发出SIGALRM 信号.ITIMER_VIRTUAL:减少有效时间(进程执行的时间).产生SIGVTALRM 信号.ITIMER_PROF:减少进程的有效时间和系统时间(为进程调度用的时间).这个经常和上面一个使用用来计算系统内核时间和用户时间.产生SI转载 2012-05-28 16:04:42 · 552 阅读 · 0 评论 -
五、信号处理 alarm
五、信号处理1、信号的产生Linux 下的信号可以类比于DOS 下的INT 或者是Windows 下的事件.在有一个信号发生时候相信的信号就会发送给相应的进程.在Linux 下的信号有以下几个. 我们使用 kill -l24命令可以得到以下的输出结果:1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABR转载 2012-05-28 16:16:15 · 556 阅读 · 0 评论 -
2、信号操作
2、信号操作有时候我们希望进程正确的执行,而不想进程受到信号的影响,比如我们希望上面那个程序在1 秒钟之后不结束.这个时候我们就要进行信号的操作了.信号操作最常用的方法是信号屏蔽.信号屏蔽要用到下面的几个函数.#include 25int sigemptyset(sigset_t *set);int sigfillset(sigset_t *set);int sig转载 2012-05-29 09:55:06 · 485 阅读 · 0 评论 -
UNIX/Linux:向进程发信号的3种方式
UNIX/Linux:向进程发信号的3种方式问:怎么向另一个进程发信号?你能跟我解释下在UNIX/Linux环境向一个进程发信号的所有可用的选项吗?答:你可以用本文所说的任一种方法向进程发各种信号。1.用Kill向进程发信号使用kill命令向进程发信号。例如,你想向进程“a.out”发送USR1信号,如下所示。 $ ps -C a.out转载 2012-05-30 09:22:24 · 1131 阅读 · 0 评论 -
3、服务器和客户机的信息函数
3、服务器和客户机的信息函数这一章我们来学习转换和网络方面的信息函数.3.1、字节转换函数在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的, 比如i386芯片是低字节在内存地址的低端,高字节在高端,而alpha 芯片却相反. 为了统一起来,在Linux 下面,有专门的字节转换函数.unsigned long int htonl(unsigned long转载 2012-05-31 11:11:33 · 543 阅读 · 0 评论 -
SIGHUP信号的默认处理是终止收到该信号的进程
在linux c编程里看到一句代码:kill(func(), SIGHUP);func()是子函数,请问这句是什么意思?func()函数返回一个进程ID,SIGHUP是signal信号中的一种处理方式,系统对SIGHUP信号的默认处理是终止收到该信号的进程。所以若程序中没有捕捉该信号,当收到该信号时,进程就会退出。转载 2012-05-30 09:56:48 · 1025 阅读 · 0 评论 -
用SIGHUP挂起某个进程之后如何恢复?
用SIGHUP挂起某个进程之后如何恢复?先man 7 signal看看吧sigstop和sig contunue是对应的但是sighup的话可能没有(ps 偶没有看man 看man可以找到答案) wangcui帖子44主题11精华0可用积分15 注册时间2003-04-22最后登录2003-09-11转载 2012-05-30 10:01:20 · 919 阅读 · 0 评论 -
2、System V 信号量
#include #include #include #include #include #include #include #include #include #include #define PERMS S_IRUSR|S_IWUSRvoid init_semaphore_struct(struct sembuf *sem,int semnum,int semop,转载 2012-05-30 20:24:41 · 513 阅读 · 0 评论 -
undefined reference to 'pthread_create'问题解决
undefined reference to 'pthread_create'问题解决分类: Linux Ubuntu程序开发2008-08-31 09:51 22118人阅读 评论(27) 收藏 举报由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:undefined reference to 'p转载 2012-05-31 08:49:06 · 573 阅读 · 0 评论 -
3、SystemV 消息队列
3、SystemV 消息队列为了便于进程之间通信,我们可以使用管道通信 SystemV 也提供了一些函数来实现进程的通信.这就是消息队列.#include #include #include int msgget(key_t key,int msgflg);34int msgsnd(int msgid,struct msgbuf *msgp,int msgsz,in转载 2012-05-30 20:45:16 · 487 阅读 · 0 评论 -
4、SystemV 共享内存
#include #include #include #include #include #include #include #include #define PERM S_IRUSR|S_IWUSRint main(int argc,char **argv){int shmid;char *p_addr,*c_addr;if(argc!=2){ fprintf(转载 2012-05-30 21:05:43 · 572 阅读 · 0 评论 -
七、线程操作
#include #include #include #include #include #include #include #include #include #include #include #define BUFFER 512struct copy_file{int infile;int outfile;};void *copy(void *arg){转载 2012-05-31 09:06:44 · 573 阅读 · 0 评论 -
2、初等网络函数介绍(TCP)
2、初等网络函数介绍(TCP)Linux 系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket 和其它几个函数的调用,会返回一个 通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作,这就是linux 的设备无关性的 好处.我们可以通过向描述符读写操作实现网络之间的数据交流.2.1、socketint socket(int domai转载 2012-05-31 10:50:38 · 660 阅读 · 0 评论 -
2.7、总结 客户端和服务器端.它们的建立步骤一般:
2.7、总结47总的来说网络程序是由两个部分组成的--客户端和服务器端.它们的建立步骤一般是:服务器端socket-->bind-->listen-->accept客户端socket-->connect转载 2012-05-31 10:59:54 · 636 阅读 · 0 评论