cmake 學習筆記(二)

在 Cmake學習筆記一 中通過一串小例子簡單學習了cmake 的使用方式。這次應該簡單看看文法和常用的命令了。簡單的文法注釋# 我是注釋命令文法COMMAND(參數1 參數2 ...)字串列表A;B;C # 分號分割或空格分隔的值變數(字串或字串列表)set(Foo a b c)設定變數 Foocommand(${Foo})等價於 command(a b c)command("${Foo}")等價於 command("a b c")command("/${Foo}")轉義,和 a b

記憶體泄露之 glibc detected錯誤

一個小小的錯誤,害我浪費了半天時間。。筒子們,不能用sizeof(結構體指標)啊。雖然我深諳此理,可是還是由於粗心犯下了如此不可饒恕的錯誤。。定義結構體時是這樣的:typedef struct tagOnLineNode{ int nId; int new_fd; struct sockaddr_in ClientAddr;//online client host addr struct tagOnLineNode *onLineNext; P_MYLISTNODE_T myNext;}ONLI

ffmpeg在cygwin中的編譯與連結

使用從網路上下載一個最新的git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg沒有git就百度一下ffmpeg,到官方網頁上去下載一個。configure一下:./configure --prefix=${INSTALL_PATH}  --disable-yasm --cpu=i686在cygwin中要運行很久,耐心等待。。。然後make再make

Handler的相關知識和應用

最近我在網路上查了很多關於handler的知識,但是感覺總是覺得有很多問題??1.為什麼要使用handler?(  Answer:     1)按計劃發送訊息或執行某個Runnanble(使用POST方法),類似定時器;                                                            

靜態庫的連結順序

一個靜態庫若是調用了另外一個靜態庫的函數,在編譯這個靜態庫的時候,只是會去找這個函數的聲明,不會管這個函數是否有實現。所以在使用這個靜態庫的時候,得配合它所用的函數所在的靜態庫一起使用。編譯的時候找不到實現不會報錯,但是連結的時候如果這個函數沒有實現,則會報undefined錯誤。靜態庫A源檔案int

進程(一) 1.4Android中非同步處理大殺器——Handler(3),Looper,Message,MessageQueue

介紹下handler運用中用到的相關類:Looper,Message ,MessageQueue LooperLooper類用來建立訊息佇列. 每個線程最多隻能有一個訊息佇列,android中UI線程(一般指主線程)預設具有訊息佇列,但非UI線程在預設情況下是不具備訊息佇列的(這也很好的說明了,前面文章說的,只有在主線程可以直接建立handler對象,而在別的線程需要有looper對象才可以使用handler發送訊息,因為他們自身不帶有訊息迴圈和訊息佇列)。 如果需要在非UI線程中開啟訊息佇列,

當編譯的程式,連main函數入口都不進的時候

非常詭異的事情,一個程式明明啟動並執行好好的,過一會再去運行,發現只列印了全域的類的建構函式資訊,main函數第一句話都不列印(自己加的printf),這是什麼情況呢。。。馬上來排除所有可能,代碼審查,沒有發現異常,把剛改動的一些小地方還原,重新編譯,可憐cygwin的龜速,苦苦等待好幾分鐘。還是不行。這下無語了。。我又開始疑神疑鬼了,懷疑外部的audio.dll庫有問題,因為只列印了它的全域類建構函式裡面的資訊就退出了,但是想想不對,因為之前這個庫都啟動並執行好好的。。。懷疑它太不科學了。又懷

Qt中關於menu菜單的定位以及相關注意事項

      上篇文章講了如何定製menu。但是對於這個menu,我們是要有個動作來觸發它的顯示的,並且要將其顯示在一個合適的位置。對於這兩個問題我在做項目過程發現還是有一些值得注意的地方的。        我要實現的功能是:對於一個button,我希望在長按3s之後,menu會顯示在該button的正下方。       對於這個功能其實就是建立一個QMenu對象,而後在建立一個定時器,在press這個button時候啟動,過3s讓其show出來。而release時候則將該定時器stop。

mac下開發 django

Python 在mac原生下已經安裝, 在terminal中輸入 python,會顯示當前python的版本等資訊1. 下載django,地址https://www.djangoproject.com/download/ 之後解壓包並命令列安裝,命令如下:tar xzvf Django-1.5.1.tar.gz cd Django-1.5.1 sudo python setup.py install 安裝完畢後,在terminal中驗證是否安裝正確,輸入import django,如果沒有錯誤,

淺談程式的編寫、編譯與連結

 我發現,有的人雖然已經做了幾年的程式,但卻不甚瞭解程式的構建過程。當然,這些東西對很多人來說,都是很基礎的,這裡權當做科普吧,沒啥深入的東西。 1、 程式的整合式開發環境(IDE)平時接觸到的Turbo C,VC,Dev C++等等,都是整合式開發環境,簡稱IDE,主要提供三方面的功能:編輯程式構建程式(編譯器)偵錯工具 --

進程(一) 1.7 Handler的源碼解析

這篇其實是體外的,對於想瞭解人,可以研究下,或者說助於理解handler吧。。。先說下handler的三個建構函式開始我們的源碼解析之旅吧。。。(一)預設的建構函式 /** * Default constructor associates this handler with the queue for the * current thread. * * If there isn't one, this handler won't be able to

利用作業系統特性實現嵌入式裝置的低功耗

這裡以即時系統uc/os-II為例進行說明。利用μCOS-Ⅱ實現低功耗的原理   μCOS-Ⅱ總是運行進入就緒狀態的優先順序最高的任務。一旦優先順序高的任務進入就緒態,就可以將CPU從低優先順序任務中搶過來。在μCOS-Ⅱ初始化時,會建立一個優先順序最低的任務——空閑任務,在沒有任務進入就緒態的時候,空閑任務就會開始運行。空閑任務會調用一個函數——OSTaskIdleHook()。這是留給使用者使用的核心擴充介面。空閑任務實際上並沒有什麼事情可做,只是一個等待中斷的無限迴圈。因此使用者可以利用O

數組訪問越界問題

最近在練習一個項目的時候經常遇到數組被corrupt的問題,在解決之後都發現是數組的訪問越界。現在發現的有兩種情況,前越界和後越界。前越界的情況:void DeleteChar(char *Buff){int i = 0;i = strlen(Buff);if (i == 0)................................1{  return;}...............................................2if (*(Buff+i-1)

自己做產品經理日子

最近跟朋友一起製作一個行業內的軟體。我負責開發部分郵件往來,來來回回,功能越做越多,協議越寫越複雜。其實,我一直很認同  大道至簡的 產品理念,(這點上,也許只有程式猿才這麼認為的,程式猿喜歡簡單,條理清晰)。手機的特性是方便快捷,不應該把所有pc上的業務統統轉移到手機上來可是,在提供行業服務軟體的時候,客戶說了算..做事不由東,累死也無功。我們在掙客戶的錢,所以必須要滿足客戶的要求。朋友說

檢測Qt for symbian前後台切換 以及 訊號槽使用的注意事項

最近遇到了兩個個很有意思的問題,這裡總結一下: 1:在Qt for symbian中,當程式運行時:若直接將其切換到後台,則會導致程式崩潰。  為瞭解決這個問題,我們需要先截獲程式切換到後台這個事件本身。試了很多種方法,下邊的比較有效:MainWindow::MainWindow(QWidget *parent,QApplication* a): QWidget(parent){      this->setFocusPolicy(Qt::WheelFocus);       a->

pushButton被hide之後。。(QT編程)

最近在學QT編程,寫了個簡單的推箱子遊戲,debug的過程中一個問題困擾了我很久。。研究了很久,終於發現了原因,但是一些細節的東西還是不知道QT到底是怎麼啟動並執行。特記之,以備後續學習重溫之用。背景:    實現用方向鍵控制小人的運動,需要重新實現主視窗的keyPressEvent()函數。問題:  

幾種類型的記憶體模型

      今天和同學同事討論了一下static const等等類型在記憶體中的儲存,查了若干資料,總結如下: 1:一個由c/c++編譯的程式的記憶體分為以下幾個部分     1:BBS         存放全域資料和待用資料     2:DATA       存放常量字串     3:CODE      代碼      4:Heap           5:  Stack     這其中比較容易混淆的就是BBS與DATA區,很多人容易認為二者是一個區,實際不是的。 2: 看幾個例子: int

qt for symbian前後台切換事件的截獲處理

      在項目中需要做一個功能:當程式切換到後台時:需將代表程式的托盤顯示在手機案頭上。而當程式切換到前台顯示出來時則把托盤給隱藏。為了實現這一點,需要先截獲程式前後台切換事件。 原本寫過一片博文處理這個問題,但是那個並不怎麼好用,這裡給出最終的解決方案。      首先:qt本身無法跨平台實現這一點,我們只能針對不同平台來定製不同的方法。在qt for symbian下:有一個symbianEventFilter()事件過濾器,其可以截獲所有symbian事件,這其中就包括前後台切換事件。

Qt中如何定製個人化功能表

        一個menu的樣式是由其上邊的功能表項目決定的,所以要個人化定製菜單,其實就是要個人化定製各個功能表項目。在Qt中功能表項目是QAction類,但是如果直接用它的話:其樣式是由系統所決定的,我們只能在上邊寫一些字元或者再加一個Icon.        但是有時候我們需要定製一個個人化的menu。比如:你的App整體風格為藍色調,但是在Qt for symbian上系統功能表項卻是黑色的,Qt for Windows是灰色的,顯然這樣就不搭配了,所以這才需要我們去個人化它。   

web開發入門

    

總頁數: 61357 1 .... 21164 21165 21166 21167 21168 .... 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.