使用pthread_cond_timedwait把一個線程作為一個定時器使用.

 #include <pthread.h>#include <stdio.h>#include <unistd.h>#include <stdlib.h>void * Proc(void * arg){ pthread_cond_t cond; pthread_mutex_t mutex; pthread_mutex_init(&mutex,NULL); pthread_cond_init(&cond,NULL)

UBuntu 印表機設定

  UBuntu8.04本機印表機設定    非常簡單,如果印表機已經串連在電腦上,然後再裝UBuntu8.04,安裝過程中會自動安裝驅動程式,你要做的就是在列印設定裡面,將印表機列為預設印表機。 UBuntu8.04Samba列印伺服器設定關鍵是samba的設定,看著 /etc/samba/smb.conf 的注釋進行,其中有對cups印表機的共用支援,對相關語句取消注釋就可以。(printing name = cups, print cap =cups)。列印共用,不用使用者登陸

數位影像處理 讀書筆記二 眼睛的構造

先看眼睛的構造圖:眼睛還是比較複雜的,至少涉及到下面10個零件:1. 角膜(cornea),眼睛前面的硬而透明的組織,保護眼睛的作用。2. 鞏膜(sclera), 角膜之外的表面都由sclera包裹。3. 脈絡膜(choroid), 包含血管網,提供眼睛的養分。4. 睫狀體(ciliary body) 位於脈絡膜前部 ,其上的纖維負責懸掛晶狀體(lens)5. 虹膜(Iris)也位於脈絡膜前部,通過收縮和擴張控制進入眼睛的光量。中間的開口就是瞳孔。6.

菜鳥玩雲端運算之九:KVM虛擬機器網路設定

菜鳥玩雲端運算之九:KVM虛擬機器網路設定cheungmine前提:HOST是UbuntuServer12.10 amd64,虛擬機器也是同樣的OS。這樣構造出來的KVM虛擬機器有2種網路連接模式,一種稱為bridge,一種稱為nat。這2種模式的網路設定有點差別。使用我上一篇文章(菜鳥玩雲端運算之八:Ubuntu Server12.10

Maven部署本地倉庫

突然碰到一個需求,將現在的一套代碼放在遠程伺服器上,能夠編譯,打包,部署並且調試。因為遠程伺服器不能使用公司私服,因此,只有把編譯出來的jar包部署到本地倉庫。這個很簡單,從依賴鏈的最底層庫開始編譯並且執行mvn install。一個小問題是 當一些庫被用parent pom組織在一起的時候,parent pom也要被手動安裝到本地倉庫中。在parent pom檔案所在的目錄下執行命令:mvn -N install

10進位數轉二進位表示

之前寫了一篇文章,描述如何用bitset來表達電腦中儲存的int變數的實際二進位布局,在工作中非常有用。本篇是用演算法自己實現10進位整數轉換成位元。邏輯上,如果將10進位數5用一個位元組表示,應該是101,你可以通過000開始不斷加1,得到這個數。但是實際上一般都採用除法計算。5 / 2    得到商為 2 餘數為1用商2 / 2,   得到商為1 餘數為0用商1 / 2   得到商為0 餘數為1逆序將餘數(最後得到的餘數放在高位)連在一起就是 101.這個演算法用遞迴可以實現://

RGB和HSL色彩轉換

RGB和HSL色彩轉換cheungmine//// 下面的程式碼完成色彩轉換:RGB<--->HSL。注意它們的分量的取值範圍。// cheungmine 收集整理//#include "stdafx.h"#define min3v(v1, v2, v3)((v1)>(v2)? ((v2)>(v3)?(v3):(v2)):((v1)>(v3)?(v3):(v2)))#define max3v(v1, v2, v3)((v1)<(v2)?

WPF/E簡介

WPF/E是微軟下一代Web平台的核心技術,跨平台(支援Windows和Mac),可以在多種瀏覽器中運行,會自動下載一個很小隻有數M的用戶端來運行WPF/E代碼:WPF/E簡介:http://msdn2.microsoft.com/en-us/library/bb190634.aspxWPF/E入門教程:http://www.microsoft.com/china/MSDN/library/Windev/WindowsVista/bb190632.mspx?mfr=true Scott

Ubuntu11.10 安裝 nvidia 顯卡驅動的終極解決方案

Ubuntu11.10 安裝 nvidia 顯卡驅動的終極解決方案(本文謹獻給經曆數次失敗的我和網上提供各種不徹底解決方案的他)第一步:下載Ubuntu下的NVIDIA顯卡驅動cheungmine作品。著作權,轉載註明出處。我的情境是:我有2台電腦,都是Windows7+Ubuntu11.10 64位雙系統。其中一台是Dell台式機,一塊nvidia quadro 600 顯卡。另一台是ThinkPad W520膝上型電腦,雙顯卡,一塊是Intel,另外是Quadro

Inside GDALAllRegister之二: 自動載入驅動

代碼    GetGDALDriverManager()->AutoLoadDrivers(); 包含了兩部分:首先獲得GDALDriverManager的singleton對象的指標,這點之前已經說明過,採用DCLP是個錯誤用法,不過可以通過下面的方法規避:永遠只在main函數內部單線程調用一次GDALAllRegister, 在其他線程尚未建立之前,singleton對象已經被建立出來然後運行void GDALDriverManager::AutoLoadDrivers()

GitLab5.2 建立項目故障

今天在GitLab5.2上建立一個項目,然後參考網站的嚮導在開發機器上建立項目目錄,最後運行git push -u origin master結果報錯:git push -u origin masterfatal: '/home/git/repositories/cloudengine/wtunnel.git' does not appear to be a git repositoryfatal: Could not read from remote repository.Please

Ubuntu下用Emacs編寫D語言程式

一個很簡單的程式,Hello,world1.下載d-mode.elhttp://prowiki.org/wiki4d/wiki.cgi?EditorSupport/EmacsDMode2.放到自己的目錄下,比如我的/opt/emacs_plugins目錄,然後在.emacs檔案中配置一下:(load-file (expand-file-name

理解runtime system

最近需要編譯不同平台的庫,因此比以前只開發C++程式關注底層更多點。先來看看術語runtime system的解釋。主要參考資料:http://en.wikipedia.org/wiki/Runtime_systemruntime system有時候就簡稱runtime, 但是runtime字面意義是啟動並執行時候發生的事情,範圍很廣。所以我這裡仍然用runtime

GitLab push 找不到gitlab_update

今天GitLab push突然報錯:git push origin issue_232 Counting objects: 5, done.Delta compression using up to 2 threads.Compressing objects: 100% (2/2), done.Writing objects: 100% (3/3), 348 bytes, done.Total 3 (delta 0), reused 0 (delta 0)remote:

改進的newlisp編譯指令碼,只需要配置

前面有一篇Say bye to CMake and Makefile我開始用自己編寫的newlisp指令碼替代CMake,今天對前面的進行改進。改進部分是:1. newlisp armory模組的引入和初始化 部分可以重用2. 將標頭檔所在目錄,cpp或者cc檔案所在目錄以及依賴庫名稱等 作為配置單獨抽出來,可以根據不同的項目進行配置現在看改過後的代碼:rebuild.lsp是主要執行指令碼#!/usr/bin/newlisp ;; init(load

用Maven實現不同的測試策略

我使用的是Maven + Surefire + TestNG的測試方案。注意,這裡不要採用testng.xml的方式。然後設定一個預設屬性 <properties> <testGroupName>110portal</testGroupName> </properties>接著設定一個profile <profiles> <profile> <id>agol</id>

升級到Maven3.1.0 以支援 OpenJDK7

因為現在Ubuntu13.04預設安裝的是OpenJDK7, 預設安裝的是Maven3.04,結果導致以前寫的Java Maven工程編譯失敗。最後決定升級maven看看能不能解決。首先卸載調原來的mavenapt-get autoremove maven3然後去官網下載maven3.10,解壓後放到/usr目錄,最後修改~/.bashrc,添加兩行:export MAVEN_HOME=/usr/apache-maven-3.1.0export

git reset用法二 替換檔案

git reset的第二種用法不是用於重設引用的,而是為了能夠將某個曆史版本中的檔案拿出來,替換當前staging中的同名檔案。這個也更加常用。比如git reset 就是用倉庫中目前的版本的檔案(位於.git/objects目錄下)替換掉staging中的檔案。相當於撤銷上一次git add的作用。比如我們在x檔案中添加一些內容,然後用下面的命令:$ git add -u$ git resetUnstaged changes after reset:Mx$ git commit

UBuntu 安裝和修改Apache2連接埠

因為本機有Nginx,所以沒有安裝Apache2的需要。不過今天為了學習如何使用icinga,還是學一下apache2吧,以後熟悉了icinga,再用Nginx將Apache2替換。安裝很簡單:apt-get install apache2然後自動啟動失敗,因為我的Nginx佔著80連接埠和443連接埠呢。通過whereis apache2尋找,發現/etc/apache2目錄好,開啟該目錄下的ports.conf檔案,把所有的80連接埠改成81,443改成444.然後看檔案注釋上說要/etc/

Ubuntu 12.10 DNS 配置

首先不推薦修改/etc/resolv.conf或者修改/etc/resolvconf/resolv.conf.d/目錄下的head,base檔案,添加tail檔案的方法也不贊成。因為resolv.conf和head檔案中都有提醒文字:cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY

總頁數: 61357 1 .... 8544 8545 8546 8547 8548 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.