Time of Update: 2018-12-05
多進程網路編程案例如下#include <stdio.h>#include <errno.h>#include <netdb.h>#include <sys/socket.h>// may be use by getpid() and getppid()#include <unistd.h>int main(int argc, char *argv[]) { int sockfd,new_fd, mypid; struct
Time of Update: 2018-12-05
方法1: #pragma pack(n) 使用偽指令#pragma pack (n),編譯器將按照n 個位元組對齊; 使用偽指令#pragma pack (),取消自訂位元組對齊。 如果#pragma pack (n)中指定的n 大於結構體中最大成員的size,則其不起作用,結構體仍然按照size 最大的成員進行對界特別注意:該方法是在 gcc 4 中增加的,至少 gcc 3.4 沒有這個。 方法2: typedef struct typeabc
Time of Update: 2018-12-05
目前主要探討matlab在linux下面的使用。 1.matalab的啟動。 matlab可以在命令列中進行計算,也可以啟動GUI介面來操作。由於主要用於後台資料計算處理,主要探討命令在termianl中操作。matlab啟動的一些選項:-nodesktop 啟動jvm(Jave Virtual Machine),不啟動desktop, 但help 介面,preferences介面等仍可通過cmdline 調出,即jvm啟動但不啟動desktop,可以啟動其他顯示;
Time of Update: 2018-12-05
用gdb偵錯工具時,常常很困惑一些命令的使用,要麼是不知道這個命令,要麼忘了命令的使用方法。呵呵,有時迷茫了自己處在什麼堆棧的深處,這是使用where命令能夠清晰的看到自己的位置,有時在迴圈太多讓人受不了了,可使用u或者finish或者jump命令來跳出去。gdb常用:run 啟動程式運行next 逐步執行(不到函數內部)step 逐步執行,跟蹤到函數內部finish 繼續執行,直到當前函數結束continue 繼續執行,直到下一個斷點jump 9 直接跳到指定行list 顯示源碼l 3,
Time of Update: 2018-12-05
注:我在fedora/ubuntu上都試過了,可行一、首先你應該安裝好wine(可參見我前文的wine gigaget中fedora/ubuntu的1、4步,不需要winetricks) 二、然後再下載我的這個軟體包完美wine thunder( for linux) 1、$ sudo mkdir /home/ahui2、用絕對路徑和ROOT許可權解壓:$sudo tar Pxzvf thunder.tar.gz#因為我是用的tar Pzcvf thunder.tar.gz
Time of Update: 2018-12-05
轉自:http://www.linux-ren.org/modules/wiki/index.php/Qomo_0.7 nv顯卡安裝qomo有些問題,我的電腦上是Grub2,用的硬碟安裝方式,需要修改Grub.cfg檔案,內容如下(請對照修 改一下grub的設定檔): menuentry "Qomo livecd Desktop 0.7" {set root=(hd0,7)linux /boot/vmlinuz0 ro root=livedisk:/dev/sdb2 livedisk_iso=
Time of Update: 2018-12-05
今天在修改了 RedHat Enterprise 5.7 的檔案 /etc/profile 中 PATH 的值後,執行 source /etc/profile,然後 su、sudo、vi、gedit、find、source 等所有的命令都執行不了了,提示“xxx: command not found”,後面想了想應該是修改了 /etc/profile 中環境變數 PATH 的值引起的,於是上網上找了找,現在標記一下,以留下次備用:export PATH=/usr/local/sbin:/
Time of Update: 2018-12-05
在開發中,除了在本機檔案夾上進行svn更新外,在命令列中進行svn操作也非常關鍵,下面列舉下網站摘抄的一些文檔:1、將檔案checkout到本地目錄svn checkoutpath(path是伺服器上的目錄)例如:svn checkout svn://192.168.1.1/pro/domain簡寫:svn co2、往版本庫中添加新的檔案svnaddfile例如:svn add test.php(添加test.php)svn add
Time of Update: 2018-12-05
LINUX 下一個重量級的配置命令:CDPATH全域變數的配置作者:餘超 email:yuchao86@gmail.com如下是根據《Linix 101 Hacks》這本書裡面的來翻譯整理的,希望大家多多提意見,如果你有更好的方法請發表看法或者回郵件給我,如果你經常使用cd 命令到一個子目錄或者是一個特殊父目錄,你可以設定全域變數CDPATH指定到要到的子目錄或是特殊的父目錄,而不用給出絕對的路徑名稱。執行個體如下:yuchao@yuchao-Latitude-E5410:~$
Time of Update: 2018-12-05
編譯linux核心3.0系統出現的警告資訊(原創)餘超 yuchao86@gmail.com[yuchao@yuchao-Latitude-E5410 linux-3.0]$gcc --versiongcc (GCC) 4.6.1Copyright 2011 Free Software Foundation, Inc.本程式是自由軟體;請參看原始碼的著作權聲明。本軟體沒有任何擔保;包括沒有適銷性和某一專用目的下的適用性擔保。=================================
Time of Update: 2018-12-05
下載最新的TBB的庫,我的是tbb30_20100822oss_src;tar zxvf tbb30_20100822oss_src進入解壓縮目錄下,執行make。cd buildchmod +x *.shsh generate_tbbvars.shsh tbbvars.shcd linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_releasecp *.so /usr/libcp *.so.2
Time of Update: 2018-12-05
一,進程之間通訊方式有:訊號,管道,FIFO(具名管道),訊號量,訊息佇列,共用記憶體二,訊號作用:1.訊號是進程與進程之間或者進程與核心之間最小的通訊單位2.訊號以1-31之間的數標示3.進程啟動並執行任何時刻都可能接受到其他進程或核心發給他的訊號,並且使用訊號處理函數處理該訊號。處理完訊號後,返回到進程,繼續執行此刻訊號的也即是一個非強制中斷訊號舉例:int kill (pid_t pid, int sig);功能:向進程號為pid 的進程發送訊號sig/* * fkill.c -
Time of Update: 2018-12-05
一.管道1.可有多個進程向一個進程寫入資料,讀入資料的進程只能有一個2.管道通訊只能支援單向通訊,如果實現雙向通訊效果,則需要建立兩個管道3.管道只支援有父子關係和有共同父進程關係的子進程之間的進程通訊 int pipe(int filedes[2]);功能:filedes 為兩個元素的整型數組,pipe 調用產生一個管道,管道的讀描述符存入filedes[0],管道的寫描述符存入filedes[1]。一個進程可以向filedes[1]中寫入資料,另一個進程可以從filedes[0]中讀出資料。
Time of Update: 2018-12-05
該程式在linux平台下用C語言實現有兩個標頭檔m1.h m2.h 對應的實現檔案m1.c m2.c 調試檔案test.c案例代碼如下:m1.h#include<stdio.h>void m1_print(char *str);m2.h#include<stdio.h>void m2_print(char *str);m1.c#include<stdio.h>#include"m1.h"void m1_print(char
Time of Update: 2018-12-05
一,建立訊息佇列:int msgget(key_t key, int flags);功能:若flags 中設定了IPC_CREAT 位,建立一個新隊列,對應於key 的值。key 值為IPC_PRIVATE 時表明key 值由系統產生。若flags 中沒有設定IPC_CREAT 位,開啟對應於key 的已有隊列。傳回值為訊息佇列的id,系統關機以前全域有效。/* * mkq.c - Create a SysV IPC message queue */#include <sys/types.
Time of Update: 2018-12-05
關於使用的說明,很多地方都有了,我也不再贅述,這裡只說一些細節上的東西,也就是我出錯的地方。今天查了很多資料,也沒解決問題,我現在寫出來,協助一下受困擾的人吧1.關於庫檔案路徑/configuremake checkmake install三個命令以後,安裝完成安裝之後,運行protoc,提示找不到兩個庫:libprotobuf.so,libprotoc.so。原因是因為這兩個庫安裝在了/usr
Time of Update: 2018-12-05
問題:上一次為了將XeTeX跑起來,將Zlib降回了13.37版對應的版本,結果,當想用convert 合并圖片為pdf提示Zlib的一個檔案找不到分析:將Zlib升上去是不可行的,那樣的話,XeTeX就又跑不了了,只能從imagemagic下手了解決:既然系統升級之前都用得好好的,那麼可能是它們的可執行檔內有著連結,是對應著版本的,將imagemagick-6.7.6_1-x86_64-1降回到13.37對應的版本,問題解決4.順便說一下合并圖片的命令 convert *.jpg
Time of Update: 2018-12-05
1.下載好字型後,把字型拷貝到/usr/share/fonts/(請注意字型的是否是商業的)為管理方便可以自己建個目錄。拷貝好後,修改字型許可權,使root之外的使用者可使用2.建立字型緩衝:mkfontscalemkfontdir (x字型用到東西,現在通常都是用 freetype / fontconfig 的組合來繪字, 所以可以無視這個步驟這樣做是為了避免某些程式找不到字型。早期的程式是通過這樣的東西索引字型的。 )3.fc-cache -fv #這條是關鍵。記得都需要root許可權,
Time of Update: 2018-12-05
1.查看顯示器:xrandrLVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 173mm 1366x768 60.0*+ 1360x768 60.0 1280x768 60.0 1280x720 60.0 1024x768 60.0 1024x600 60.0 800x6
Time of Update: 2018-12-05
select函數可以用來監聽多個socket串連。但是單純select不能檢檢測串連斷開的情況。可以配合recv函數來檢測遠程主機主動斷開的情況。遠程主機斷開後,select會立即返回(傳回值大於0!不能用來判斷斷開的情況),這時調用recv函數返回的長度為0,這種情況就能判斷主動斷開了。參照:http://bbs.csdn.net/topics/80103159 ,遠程主機主動斷開,select監視的socket馬上會進入可讀狀態,然後會讀到EOF(檔案結束符)如果是網線被拔(遠程或是本地),