文章分类 - Linux
摘要:zip命令的基本用法是:zip [参数] [文件1] [文件2] 简单的例子: 把本目录下的test文件打包成test.zip文件:zip test.zip test/* ,如果在文件中用绝对的路径,那么在压缩文件中也是绝对路径。就是说,如果你 zip test.zip /home/test/* ,那么在压缩文件中也是这样的层次关系。 参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 不压缩具有特定字尾字符串的文件 -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q 安静模式,在压.
阅读全文
摘要:symlinks not supported by backend1. if you try to use samba to share and copy files from one linux to another linux, you maybe get error: symlinks not supported by backend this is because Microsoft's networking protocols have no concept of a symbolic link, so there's not much point in trying
阅读全文
摘要:1. download rpm: http://download.virtualbox.org/virtualbox/rpm/fedora/12/i386/2. [root@alex ~]# rpm -i Downloads/VirtualBox-3.2-3.2.8_64453_fedora12-1.i686.rpm warning: Downloads/VirtualBox-3.2-3.2.8_64453_fedora12-1.i686.rpm: Header V4 DSA signature: NOKEY, key ID 98ab5139Creating group 'vboxus
阅读全文
摘要:指针指向指针的指针函数指针结构体动态结构体type struct{int length;unsigned char data[1];}testdata;单向链表双向链表快速排序字符转换static constexterninlinetypedefdefine内存分配___FILE__,___LINE___,知道这是啥意思灵活/弹性数组成员--结构体中0个元素的数组看这个结构体的定义:typedef struct st_type{ int nCnt; int item[0];}type_a;(有些编译器会报错无法编译可以改成:)typedef struct st_type{ int nCnt;.
阅读全文
摘要:下面是常用的函数接口,使用了glib的数据类型和函数调用规范。可变参数一般是调用的方法的参数列表。 1.获取一个连接(bus). DBusGConnection* dbus_g_bus_get (DBusBusType type, Gerror **error); 2.获取一个对象的代理 DBusGProxy* dbus_g_proxy_new_for_name (DBusGConnection *connection, ...
阅读全文
摘要:1. kdevelop yum install kdevelopment2. kate yum install kdesdk / yum install kate3. yum groupinstall "KDE (K Desktop Environment)"
阅读全文
摘要:: rt, 代码如下,但结果不正确,哪位大侠帮看看?: : #include <stdio.h>: #include <unistd.h>: #include <stdlib.h>: : void test_pp_out(char***ppp): {: char*v[]={"xy","how","shit",NULL};: *ppp=v;: char**p2=v;: printf("%ld\n",*ppp);: while(*p2){: printf("%ld:%s\n
阅读全文
摘要:C语言中的内存地址分配模型如下:说明:1、程序代码区:存放函数体的二进制代码。2、全局区数据区:全局数据区划分为三个区域。全局变量和静态变量的存储是放在一块 的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。常量数据存放在另一个区域里。这些数据在程序结束后由系统释放。我们所说的BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。3、栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。4、堆区:一般由
阅读全文
摘要:#include <stdio.h> #include <malloc.h> void print(char *,int); main() { char *s1 = "abcde"; char *s2 = "abcde"; char s3[] = "abcd"; long int *s4[100]; char *s5 = "abcde"; int a = 5; int b =6;//a,b在栈上,&a>&b 地址反向增长 printf("variables a
阅读全文
摘要:第3章 内存管理及相关工具在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些函数申请/释放内存空间及其注意事项。第3节主要介绍了在Linux下除GDB之外的内存调试及管理工具,包括glibc提供的内存管理函数、MemWatch内存错误检测工具和valgrind内存检
阅读全文
摘要:(1)char arr[10]="HI";初始化字符串数组时,编译器自动将字符串最后一个字符后面加上'\0',以表示字符串的结束。如果数组的大小大于字符串的长度+1,那么把字符串结束后面的元素也都初始化为'\0'; 看这段程序:定义一个大小为12的字符串数组char str1[12]="jiajia";让一个char型的指针指向这个数组 char *p1=str1;输出这个字符串 printf("%s\n\n",str1);利用指针输出这个字符串数组中每个元素的字符、字符ascii值、字符存储地址 fo
阅读全文
摘要:String Utility FunctionsString Utility Functions — various string-related functions.http://www.gtk.org/api/2.6/glib/glib-String-Utility-Functions.htmlSynopsis#include <glib.h>#include <glib/gprintf.h>gchar* g_strdup (const gchar *str);gchar* g_strndup ...
阅读全文
摘要:1. 执行sql语句int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callback, void *, char **errmsg );这就是执行一条 sql 语句的函数。第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。第2个参数const char *sql 是一条 sql 语句,以\0结尾。第3个参数sqlite3_callback 是回调,当这条语句执行之后,sqlite3会去调用你提供的这个函数。第4个参数void * 是你所提供的指针,你可以传递任何一个指针参数到这里,这个参数最终会传到回调函数里面,这个指
阅读全文
摘要:在C语言里,通用类型我们一般是用void *以表示任何类型的数据。但GObject的设计初衷是为了解决多语言交互问题,所以必须设计出一套能容纳任何数据类型的通用数据类型。以便在不同的编程语言之间进行数据转换操作。这个数据类型就是GValue。 struct _GValue { GType g_type; union { gint v_int; guint v_uint; glong v_long; gulong v_ulong; gint64 v_int64; guint64 v_uint64; gfloat v_float; gdouble v_double; ...
阅读全文
摘要:Pointer ArraysNamePointer Arrays--arrays of pointers to any type of data, which grow automatically as new elements are added.Synopsis#include <glib.h>struct GPtrArray;GPtrArray* g_ptr_array_new (void);void g_ptr_array_add (GPtrArray *array, ...
阅读全文
摘要:一個進程(Process)是一個包括有自身執行位址的程式,在一個多工的作業系統中,可以分配CPU時間給每一個進程,CPU在片段時間中執行某個進程,然後下一個時間片段跳至另一個進程去執行,由於轉換速度很快,這使得每個程式像是在同時進行處理一般。 一個執行緒是進程中的一個執行流程,一個進程中可以同時包括多個執行緒,也就是說一個程式中同時可能進行多個不同的子流程,這使得一個程式可以像是同時間 處理多個事務,例如一方面接受網路上的資料,另一方面同時計算資料並顯示結果,一個多執行緒程式可以同時間處理多個子流程。 在GLib中,提供GThread來實現可攜式的執行緒解決方案,以 內 建 Signal ..
阅读全文
摘要:16.2.2 D-Bus的用例http://book.51cto.com 2009-12-15 09:40 徐诚/高莹婷 清华大学出版社 我要评论(0) 摘要:《Linux环境C程序设计》第16章进程间通信,本章讲解进程间通信的机制和以管道方式进行进程间通信的相关系统调用函数,同时也介绍基于D-Bus消息总线系统实现更为简单方便的进程间通信方式。本节为大家介绍D-Bus的用例。标签:LinuxC程序设计Oracle帮您准确洞察各个物流环节16.2.2 D-Bus的用例在使用GNOME桌面环境的Linux系统中,通常用GLib库提供的函数来管理总线。在测试下列用例前,首先需要安装GTK+开发包(
阅读全文
摘要:在GTK中,如果您要定时让程序去作某件事,则可以使用g_timeout_add()或g_timeout_add_full().一个例子如下:这个例子的作用就是把当前时间显示到窗口中,即显示了一个实时时钟。//~~~~~~~ begin of program ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#include <cairo.h>#include <gtk/gtk.h>#include <time.h>static char buffer[256];/*******************************
阅读全文
摘要:http://developer.gnome.org/glib/2.28/glib-Timers.htmlTimersTimers — keep track of elapsed timeSynopsis#include <glib.h> GTimer;GTimer * g_timer_new (void);void g_timer_start (GTimer *timer);void ...
阅读全文
摘要:https://developer.gnome.org/glib/2.28/glib-String-Utility-Functions.html#g-ascii-strtoll1.4 Basic Utilities (基本函数,这个Utilities不知道如何译,就写成函数吧,因为后面确实在讲函数,嘿嘿……)为了简化你的程序与C语言以及系统的交互,GLib提供了大量的函数。 要了解GLib的函数处理数据结构部分,请看1.5节。1.4.1 内存管理如果你使用GLib提供的内存管理例程,它可以避免你处理很多让你头痛的事。 GLib提供了的附加的错误检查与侦测。在下面的表格中为C程序员提供了一个参考
阅读全文

浙公网安备 33010602011771号