GNU make 指南(转)
GNU make 指南(转)[@more@]译者按: 本文是一篇介绍 GNU Make 的文章,读完后读者应该基本掌握了 make 的用法。而 make 是所有想在 Unix (当然也包括 Linux )系统上编程的用户必须掌握的工具。如果你写的程序中没有用到 make ,则说明你写的程序只是个人的练习程序,不具有任何实用的价值。也许这么说有点 儿偏激,但 make 实在是应该用在任何稍具规模的程序中的。希望本文可以为中国的 Unix 编程初学者提供一点儿有用的资料。中国的 Linux 用户除了学会安装红帽子以外, 实在应该尝试写一些有用的程序。个人想法,大家参考。C-Scene 题
Apache+SSL+PHP+JSP+MySQL+IMAP+GD安装全攻略(转)
Apache+SSL+PHP+JSP+MySQL+IMAP+GD安装全攻略(转)[@more@]在RedHat 7.2上,假设所有安装程序包都下在/pub下面,源码包都用红色表示,假设在telnet或ssh文本界面下进行如下所有操作。1. Installtarget=_blank>J2SDK 1.41. 下载 J2SDK1.4 的 Linux RPM版本 j2sdk-1_4_0-linux-i386-rpm.bin2. cd /pub3. chmod +x j2sdk-1_4_0-linux-i386-rpm.bin4. ./j2sdk-1_4_0-linux-i386-rpm.bin5. rpm -ivh j2sdk-1_4_0-fcs-linux-i386.rpm6. vi /etc/profile 增加如下内容:JAVA_HOME=/usr/java/j2sdk1.4.0export JAVA_HOMECLASSPATH=/usr/java/j2s
C语言高效编程的几招(转)
C语言高效编程的几招(转)[@more@]C语言高效编程的几招2003-10-08[中][摘]华中科技大学 丁学[文]引 言: 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。第1招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。例如:字符串的赋值。方法A,通常的办法:#define LEN 32char string1 [LEN];memset (string1,0,LEN);strcpy (string1,“This is a ex
GNU/linux的C函数库介绍(转)
GNU/linux的C函数库介绍(转)[@more@]在 GNU/linux 系統中,其 C 函式庫的發展史點出了 GNU/Linux 演進的幾個重要里程碑,由此可以突顯出 C 函式庫在系統中的地位與重要性。早期的 GNU/Linux 系統?K不支援可分享函式庫,因此所有的應用程式都是以靜態連結的方式存於系統中。直到 1995-1996 年 libc5 問世以後,系統才開始支援 ELF 可分享函式庫,同時該版的 C 函式庫
Redhat Linux9 Gnome桌面上搭建C/C++IDE开发环境(转)
Redhat Linux9 Gnome桌面上搭建C/C++IDE开发环境(转)[@more@] 张善友(shanyougz@21cn.com) 软件开发工程师 原文在我的网站http://shanyou.sti.gd.cn/cplusplus/GTK2/anjuta.html Redhat linux上面没有提供Anjuta软件包,上面提供了一个Glade应用程序界面设计工具.linux上面使用Anjuta和Glade以及 Glademm软件包可以搭建一个linux下面进行C/C++软件开发的IDE环境,可以进行GTK+/Gnome的应用程序开发. 以前开发 Linux 程序时写出好的图形化用户界面比较难. 在 GIMP 工具包 (GTK)诞生之后,这件事就变得比较容易了. 当 Damon Chapli
Linux下C开发环境的构成和安装(转)
Linux下C开发环境的构成和安装(转)[@more@]本文介绍了Linux的C开发环境的构成和安装,使读者对Linux的C开发环境能有初步的了解。 你了解Linux吗?相信现在越来越多的人会说“是”的。那么你了解到何种程度呢?不可否认,目前决大多数的Linux用户对Linux的了解还处于比较低级的层次,他们可能会几条命令、会配几种服务、会用rpm来安装软件、会操作KDE/Gnome界机等等,但是当他们遇到一些需要编译安装的软件时,面对一些简单的出错信息,他们就手足无措了。要想真正跨跃这些初级层次,你就不可能不去了解一些底层的东西,比如本文要讲到的
使用开源代码写linux程序(转)
使用开源代码写linux程序(转)[@more@]序linux下编程没有现成的东西都要自己写,但网上有不少开源作品可以复用,仅以此篇抛转引玉,也想让大家互相交流如何有效的使用这些资源,千万别吝啬你的经验。由来小时候很喜欢看卡通漫画,最近偶然从网上看见许多以前看过的漫画,donwloading...,但这些漫画都是放在zip包内,看起来需要解压缩很不方便,win下有一些直接在zip包内看图的软件而且使用方便,可linux下却很少而且即使有也需要x,一般对像我这样都直接在控制台下工作不用 x的人很不方便,为此想写一个小工具用以解决这个问题。问题这个工
Linux 环境下 Makefile 文件制作浅谈(二)(转)
Linux 环境下 Makefile 文件制作浅谈(二)(转)[@more@]编写:Leaf ZhouEMAIL:leaf_zhou_8@hotmail.com可自由复制但禁止删改2003-10-15在介绍了简单的如何产生Makefile文件之后,相信已经能够编写Makefile文件了,但那还远远不够,因为编写那么简单的Makefile文件还要如此繁琐和兴师动众,那未免小题大做了。因此,我们有必要进一步了解如何制作Makefile文件。在制作Makefile文件的过程中,编写configure.in文件是关键,因此这一部分将重点介绍configure.in文件的编写的相关问题。对于Makefile.am文件的编写在编译多文件和多目录中要用到,所
Linux 环境下 Makefile 文件制作浅谈(一)(转)
Linux 环境下 Makefile 文件制作浅谈(一)(转)[@more@]Linux 环境下 Makefile 文件制作浅谈(一)编写:Leaf ZhouEMAIL:leaf_zhou_8@hotmail.com可自由复制但禁止删改2003-10-12无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事;再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的;还有,对于不同的处理器架构,往往编译器不同,环境不同,特别是一些嵌入式系统中的各种程序的编译,于是移植问题也使Makefile文件编写趋于复杂,也显得这个问题很重要。对
GDB 的文档(转)
GDB 的文档(转)[@more@]/****************************************************/[code:1:363368bc6a]用GDB调试程序GDB概述 2使用GDB 5GDB中运行UNIX的shell程序 8在GDB中运行程序 8调试已运行的程序 两种方法: 9暂停 / 恢复程序运行 9一、设置断点(BreakPoint) 9二、设置观察点(WatchPoint) 10三、设置捕捉点(CatchPoint) 10四、维护停止点 11五、停止条件维护 12六、为停止点设定运行命令 12七、断点菜单 13八、恢复程序运行和单步调试 13九、信号(Signals) 14十、线程(Thread Stops) 15查看栈信息 16查看源程序 18一、显示源
在C语言中引入类的概念(转)
在C语言中引入类的概念(转)[@more@]基于对象的程序设计的好处大家应该都有一定的体会,但是在 C 语言中并不支持类的概念,不过我们可以通过 struct 实现一些基础的类对象,如队列、堆栈等。通过对象的实现可以在一定程度上提高编程效率、简化 C程序设计。下面使用一个例子来介绍下如何在实现一个简单的类,希望对大家有些益处:/* 应用消息队列类 */struct AppQueue{struct AppFrame *pHead, *pTail;void (*InQueue)(struct AppQueue *papq, struct AppFrame *apf);struct AppFrame * (*OutQueue)(struct AppQueue *papq);unsigned char (
c语言中的结构(struct)和联合(union)简介(转)
c语言中的结构(struct)和联合(union)简介(转)[@more@]看到有朋友介绍union,我以前还没有用过这个东西呢,也不懂,就去搜了点资料来看,也转给大家,希望坛子里的给予改正或补充。谢谢!联 合(union) 1. 联合说明和联合变量定义 联合也是一种新的数据类型, 它是一种特殊形式的变量。 联合说明和联合变量定义与结构十分相似。其形式为: union 联合名{ 数据类型 成员名; 数据类型 成员名; ... } 联合变量名; 联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数据类型 和不同长度的变量。 下例表示说明一个联合a_bc: union a_b
unix环境多进程编程----用到的32个系统调用祥解(转)
unix环境多进程编程----用到的32个系统调用祥解(转)[@more@]一.多进程程序的特点 [code:1:590ad900cf]由于UNIX系统是分时多用户系统, CPU按时间片分配给各个用户使用, 而在 实质上应该说CPU按时间片分配给各个进程使用, 每个进程都有自己的运行环境 以使得在CPU做进程切换时不会"忘记"该进程已计算了一半的"半成品". 以DOS 的概念来说, 进程的切换都是一次"DOS中断"处理过程, 包括三个层次: (1)用户数据的保存: 包括正文段(TEXT), 数据段(DATA,BSS), 栈段 (STACK), 共享内存段(SHARED MEMORY)的保存. (2)寄存器数据的保存: 包括PC(program
用标准C实现shell功能(转)
用标准C实现shell功能(转)[@more@]#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/wait.h>#include <string.h>#include <errno.h>#define SHELL_NAME "sh1"#define PROMPT_ENVIRONMENT_VARIABLE "PROMPT"char *prompt;int main(int argc, char **argv) {char cmd[80];int statval;/* Determine prompt value. */if ((prompt = getenv(PROMPT_ENVIRONMENT_VARIABLE)) == NULL)prompt = SHELL_NAME ":";/* Process commands until exit, or death by signal. */while (1) {/*
C/C++ 编译器和调试器以及静态库、动态库使用汇总(转)
C/C++ 编译器和调试器以及静态库、动态库使用汇总(转)[@more@]经常的,有朋友问到有关unix下面条是的技术。我整理了大多数的unix系统下面的常用的调试工具的调试技术的文章。希望对大家有所帮助。另外静态库、动态库也是问的频率比较高的问题。在这里也做了总结。######大多数unix系统下面的调试器的使用方法如下:######***************gdb介绍*********************GNU 的调试器称为 gdb,该程序是一个交互式工具,工作在字符模式。在 X Window 系统中,有一个 gdb 的前端图形工具,称为 xxgdb。gdb 是功能强大的调试程序,
在Unix下用C编写curses程序的一些常用模块(转)
在Unix下用C编写curses程序的一些常用模块(转)[@more@]总有人问这个问题,下面是整理的模块代码,可以作为编程的参考demo。几个部分可以连接起来编译程可执行程序运行。初始化资源[code:1:b2615b2355]void initial() /* 自定开启 curses 函式 */ { initscr(); cbreak(); nonl(); noecho(); intrflush(stdscr,FALSE); keypad(stdscr,TRUE); refresh(); } [/code:1:b2615b2355]/* 按键等待函数 */ [code:1:b2615b2355]void keycont() { fprintf(stderr, "按键继续..."); getchar(); } [/code:1:b2615b2355]/* 运行可执行程序函数 */ [code:1
TCP/IP通信程序设计的丰富多样性(转)
TCP/IP通信程序设计的丰富多样性(转)[@more@]刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程序,据此一些人可能会认为TCP/IP编程很简单。其实不然,TCP/IP编程具有较为丰富的内容。其编程的丰富性主要体现在通信方式和报文格式的多样性上。一。通信方式主要有以下三大类:(一)SERVER/CLIENT方式1.一个Client方连接一个Server方,或称点对点(peer to peer):2.多个Client方连接一个Server方,这也是通常的并发服务器方式。3.一个Client方连接多个Server方,这种方式很少见,主要用于一个客户向多个服务器发送请求情况。(二)连接方
解析static!(转)
解析static!(转)[@more@][size=18:7291e6e16b][color=darkblue:7291e6e16b][b:7291e6e16b]解析static![/b:7291e6e16b][/color:7291e6e16b][/size:7291e6e16b]http://asp.6to23.com/vcprogram/articlemanage/article/jxstatic.asp?title=解析static&index=58 通常理解static只是指静态存储的概念,事实上在c++里面static包含了两方面的含义。1)在固定地址上的分配,这意味着对象是在一个特殊的静态区域上创建的,而不是每次函数调用的时候在堆栈上动态创建的,这是static的静态存储的概念。2) 另一方面,static能够控制对象对于连接器
C 编程最佳实践(转)
C 编程最佳实践(转)[@more@]C 编程最佳实践 原文地址:[url]http://www-900.ibm.com/developerWorks/cn/linux/l-bppc/index.shtml[/url][size=18:db26774567][b:db26774567]简介风格与指南其它结束语参考资料[/b:db26774567][/size:db26774567]Shiv Dutta(sdutta@us.ibm.com ),技术顾问,IBMGary Hook(ghook@us.ibm.com),高级技术顾问,IBM2003 年 9 月尽管 C 语言问世已近 30 年,但它的魅力仍未减退。C 语言继续吸引着众多的人们,他们为了编写新的应用程序,或者移植或维护现有的应用程序而必须学习新技能。[size=18:db26774567]
corba核心规范(转)
corba核心规范(转)[@more@]核心规范当前最新版本是3.0,是在2002年8月整理发布的。CCM的3.0规范也已经发布。 CORBA规范3.0终于出来了,也许是不能再拖了吧。比较奇怪的是3.0规范的编号是2002年6月份的(02-06-33),但是规范是在7月份才整理出来的。在CORBA3.0规范中去掉了 MiniCORBA和实时CORBA。 OMG组织的网站上有一个页面介绍在3.0规范将要增加的内容,我将其翻译过来,大家可以点这儿查看。因为新版本规范在不断推出,所以里面的内容可能会与现在的实际情况有点儿差异。语言映射规定IDL语言到Ada、C、C++、JAVA、COBOL、SmallTalk、Lis