
Linux & FreeBSD应用与开发
文章平均质量分 51
lastking
这个作者很懒,什么都没留下…
展开
-
linux下的c 编程------dir scan
#include #include #include #include #include #include void printdir(char *dir,int depth) { DIR *dp; struct dirent *entry; struct stat statbuf; if((dp=opendir(dir))==NULL) { fprintf(2,"can not op原创 2004-08-03 10:40:00 · 1067 阅读 · 0 评论 -
GTK+ 2.0 教程--用 GTK 来写 Hello World
用 GTK 来写 Hello World好,现在来写一个只有一个按钮构件的程序,这是一个标准的 GTK Hello World。 #include /* 这是一个回调函数。data 参数在本示例中被忽略。 * 后面有更多的回调函数示例。*/void hello( GtkWidget *widget, gpointer data ){ g_print原创 2004-08-06 19:02:00 · 2381 阅读 · 0 评论 -
GTK+ 2.0 教程--事件
事件除了有前面描述的信号机制外,还有一套events反映 X 事件机制。回调函数可以与这些事件连接。这些事件是:eventbutton_press_eventbutton_release_eventscroll_eventmotion_notify_eventdelete_eventdestroy_eventexpose_eventkey_press_eventkey_release_ev原创 2004-08-06 19:05:00 · 1665 阅读 · 0 评论 -
GTK+ 2.0 教程--简介
简介GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。它遵循 LGPL 许可证,所以你可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不用花费任何钱来购买许可证和使用权。GTK 被称为 GIMP 工具包是因为最初写它是用来开发 GIMP (GNU 图像处理程序) 的,但是它现在已经被用于很多软件项目了,包括 GNOME (GNU 网络对象模型环境)。GT原创 2004-08-06 19:00:00 · 6118 阅读 · 0 评论 -
GTK+ 2.0 教程--信号和回调函数的原理
信号和回调函数的原理 在 2.0 版,信号系统已从 GTK 移到 GLib,因此在函数和类型的说明中有前缀 "g_" 而不是 "gtk_"。我们不打算介绍 GLib 2.0 信号系统相对 GTK 1.2 信号系统扩展的细节。 在我们详细分析 helloworld 程序之前,我们会讨论信号和回调函数。GTK 是一个事件驱动的工具包,意味着它会等在 gtk_main() 那里,直到下一个事件发原创 2004-08-06 19:04:00 · 2236 阅读 · 0 评论 -
GTK+ 2.0 教程--Hello World 详解
Hello World 详解现在我们知基本理论了,让我们来详细分析helloworld示例程序。这是按钮被点击时要调用的回调函数。在示例中忽略参数 widget 和 data,但是使用这些参数也不难。下一个示例会使用 data参数 来告诉我们按下了哪个按钮。void hello( GtkWidget *widget, gpointer data ){ g原创 2004-08-06 19:06:00 · 1273 阅读 · 0 评论 -
GTK+ 2.0 教程--数据类型
数据类型你或许发现前述示例中有几个地方需要解释。gint、gchar等等。去看int和char的定义,它们是GLib系统的一部分。这用来避免在计算时对简单数据类型低级的依赖。一个好的示例是,"gint32"被定义为任何平台的32位整数,无论是64位的alpha还是32位的i386。该类型定义非常直观。GTK 的设计是面向对象的,一个构件是一个对象。原创 2004-08-06 19:06:00 · 1557 阅读 · 0 评论 -
GTK+ 2.0 教程--深入探索信号处理函数
深入探索信号处理函数让我们来看一下函数 gtk_signal_connect() 的声明。gulong g_signal_connect( gpointer object, const gchar *name, GCallback func, gp原创 2004-08-06 19:07:00 · 1250 阅读 · 0 评论 -
GTK+ 2.0 教程--组装构件组装盒的原理
组装构件创建一个应用软件的时候,你可能希望在窗口里放置超过一个以上的构件。我们的第一个 helloworld 示例仅用了一个构件,因此我们能够简单地使用 gtk_container_add()来“组装”这个构件到窗口中。但当你想要放置更多的构件到一个窗口中时,如何控制各个构件的定位呢?这时就要用到组装(Packing)了。组装盒的原理多数组装是通过创建一些“盒(boxes)”来达成的,原创 2004-08-06 19:09:00 · 1435 阅读 · 0 评论 -
linux下编写OpenGL程序的一些准备工作
linux下编写OpenGL程序的一些准备工作需要用到的软件包有两个,glut 和tmake,分别可以从以下两个网址下载:http://www.opengl.org/resources/libraries/glut/glut-3.7.tar.gzftp://ftp.trolltech.com/freebies/tmake/tmake-1.8.tar.gz下载后的文件假设都放在/usr/src中首先原创 2005-04-28 11:12:00 · 2669 阅读 · 1 评论 -
linux下的c 编程------curses :color
#include #include #include #include int main() { initscr(); if(!has_colors()) { endwin(); fprintf(stderr,"ERROR:No color support on this terminal/n"); exit(1); } else { printw("%s","color support原创 2004-08-03 10:41:00 · 1004 阅读 · 0 评论 -
GTK+ 2.0 教程--改进了的 Hello World
改进了的 Hello World让我们来看一下稍微改进了的helloworld和更好的回调函数示例。这里也要介绍下一个话题,组装构件。 #include /* 我们新改进的回调函数。向标准输出(stdout)打印传递给该函数的数据。*/void callback( GtkWidget *widget, gpointer data ){ g_pr原创 2004-08-06 19:08:00 · 1464 阅读 · 0 评论 -
linux下的c 编程------Gnome :Window
#include static void button_clicked(GtkWidget * button,gpointer data) { char * string=data; g_print(string); } int main(int argc,char *argv[] ) { GtkWidget * app; GtkWidget * button; gnome_init("Gnom原创 2004-08-03 10:43:00 · 979 阅读 · 0 评论 -
Red Hat 9:Linux下安装mplayer播放器
在Linux RH9下安装mplayer很多次了,以前都是以失败而告终,前两天终于装成功了,为自己感到庆幸。大家以后安装的时候可以作为一个参考(有些地方我也是参考别人的)。 mplayer是linux下播放速度最快(正确安装了显卡驱动),支持媒体格式最多的播放器之一 ,它几乎能播放所有的win媒体文件!下面介绍它的安装方法: 安装大前提: 要编译这个软件,确认你系统安装了相应的XFree86-de原创 2004-08-03 00:02:00 · 4597 阅读 · 3 评论 -
linux下的c 编程------curses 库
#include #include #include int main() { initscr(); move(5,15); printw("%s","Hello World!"); refresh(); sleep(4); endwin(); exit(EXIT_SUCCESS); }原创 2004-08-03 10:35:00 · 1127 阅读 · 0 评论 -
linux下的c 编程------curses :Window
int main() { WINDOW * new_win_ptr; WINDOW * pop_win_ptr; int x_loop,y_loop; char a_letter=a; initscr(); move(5,5); printw("%s","Testing Multiple Windows"); refresh(); for(y_loop=0;y_loopfor(x_loop=0原创 2004-08-03 10:42:00 · 892 阅读 · 1 评论 -
linux下的c 编程------time
#include #include int main() { int i; time_t the_time; struct tm *tm_ptr; (void)time(&the_time); tm_ptr=gmtime(&the_time); printf("%d/n",1900+tm_ptr->tm_year); printf("%d/n",1+tm_ptr->tm_mon); printf(原创 2004-08-03 10:37:00 · 949 阅读 · 0 评论 -
linux下的c 编程------控制台下的menu
#include #include char *menu[]={"a - add new record", "d - delete a record", "q - quit",NULL,}; int getchoice(char *greet,char *choices[],FILE *in ,FILE *out) { int chosen=0; int selected,selected1;原创 2004-08-03 10:44:00 · 1200 阅读 · 0 评论 -
RH9下安装apache2.x.x+php4.x.x+mysql3.x.x
****************************************************************************** 先安装Mysql ****************************************************************************** shell> groupadd mysql shell> use原创 2004-08-03 10:56:00 · 909 阅读 · 0 评论 -
GRUB安装,配置及使用汇总
(一)安装linux时安装grub. 安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到 硬盘的引导扇区MBR.grub 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、 GNU HURD 和 DOS,以及 Windows 95、98、NT、2000、XP。 (二)grub的配置 一旦选择了grub为引导程序,下面我们来了解原创 2004-08-04 20:24:00 · 1898 阅读 · 1 评论 -
GTK+ 2.0 教程--编译 Hello World 程序
编译 Hello World 程序编译命令是:gcc -Wall -g helloworld.c -o helloworld `pkg-config --cflags gtk+-2.0` /`pkg-config --libs gtk+-2.0`要用程序 pkg-config,可以从 www.freedesktop.org 得到。这个程序读文件 .pc 来决定编译 GTK 程序需要的编原创 2004-08-06 19:03:00 · 1923 阅读 · 1 评论 -
FreeBSD 5.3安装Apache+PHP+MySQL+Tomcat
以前有过在linux下装Apache+PHP+MySQL的经验,这几天装了FreeBSD,我想在下面也装个数据库玩玩,当然首选MySQL了,这个简单呀. 1.MySQL 找到了/usr/ports/databases/mysql50-server cd /usr/ports/databases/mysql50-server make install clean 之原创 2005-05-16 10:34:00 · 1696 阅读 · 3 评论