原创 mysql筆試題(1)

有一張數據表(grade)如下: -- ---------------------------- -- Table structure for `grade` -- ---------------------------- DROP T

原创 linux C/C++交替打印A,B

知識點: 線程、互斥鎖、條件變量 代碼如下: #include <pthread.h> #include <stdio.h> #include <unistd.h> #include "ThreadTest.h" //互斥鎖 pth

原创 windows多線程編程-事件詳解

不得不說官方的例子寫的是真的好,比網上亂七八糟代碼好太多了,以後參考代碼都以MSDN爲主。 先介紹一下CreateEvent這個函數的各個參數,這是重點 HANDLE CreateEvent(     LPSECURITY_ATTRIB

原创 g++ exited with code 1, please see the Output Window - Build

第一次使用VS2015在windows上編譯linux程序,按照網上的教程配置好後編譯直接報錯 g++ exited with code 1, please see the Output Window - Build  估計大部分人遇到這

原创 VC/MFC 強制結束當前進程

最近接手一個MFC老項目,Bug太多,主線程退出的時候,也不管子線程死活,直接退出,導致子線程又去訪問那些被釋放的資源,結果程序無法關閉,或者導致進程在後臺駐留了。 這裏提供一種簡單粗暴的方法: //強行結束自己 void Termin

原创 爲什麼有時候線程數超過CPU內核數會更快呢?

單核CPU上運行的多線程程序, 同一時間只能一個線程在跑, 系統幫你切換線程而已, 系統給每個線程分配時間片來執行, 每個時間片大概10ms左右, 看起來像是同時跑, 但實際上是每個線程跑一點點就換到其它線程繼續跑,效率不會有提高,切換線

原创 字節對齊的原因及計算方法

看了網上很多的相關文章,反而容易搞迷糊,在此詳細總結一下,不明白的朋友可以在下方留言。 一、爲什麼需要字節對齊?        因爲各個硬件平臺對存儲空間的處理上有很大的不同,一些平臺對某些特定類型的數據只能從某些特定地址開始存取。比如有

原创 鏈接jsoncpp靜態庫無法打開編譯器生成的文件:“../../build/vs71/release/v100/MD_MBCS\json_value.

使用Debug版的靜態庫沒有問題,但使用Release版的靜態庫編譯就報錯了, 解決辦法: 修改生成靜態庫文件的工程的屬性:路徑爲:菜單---項目--屬性---配置屬性---c/c++---輸出文件---彙編程序輸出:無列表 

原创 js防止緩存

代碼如下: <html> <head> <script type="text/javascript"> document.write("<script src='**.js?"+Math.random()+"'><\/scrip

原创 JS 判斷系統是否註冊ocx控件

找到ocx控件的ID, 這個值在註冊表中HKEY_LOCAL_MACHINE-> SOFTWARE->Classes->CLSID->我的控件CLSID->progID對應的數值數據。   如果有Microsoft Visual

原创 mysql面試題(2)-避免全表掃描sql查詢優化 .

對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引:  .嘗試下面的技巧以避免優化器錯選了表掃描: ·   使用ANALYZE TABLE tbl_name爲掃描的表更新關鍵字分佈。 ·

原创 線程的消息循環舉例

線程的消息循環如下: DWORD WINAPI ThreadProc(LPVOID lpParam) { if (!lpParam) return 0; HWND hWnd = (HWND)(lpPara

原创 VS2015下編譯linux程序遇到的問題

即便在安裝了VC_LINUX.exe後依然存在很多問題: 1、庫缺失 unistd.h,io.h,process.h 等一系列頭文件都缺失 解決辦法:將linux下的usr/include下的所有文件拷貝到本地庫文件目錄中(vc_linu

原创 C++/VC/QT 隱藏調用程序

有時候需要在我們的程序中調用cmd命令行,但尷尬的是會在界面上顯示一個黑框。如何隱藏黑框? 以qt代碼爲例:(只需要替換QString即可,可直接傳遞參數) #include <windows.h> void CTest::HideR

原创 編譯後的qt庫如何在別的電腦直接使用

之前由於官方沒有提供vs2012 for Qt4.8.5,故自己用2012編譯了一次,比較耗時,甚至還有一些源碼的修改,想着以後再 用這個版本就不用編譯了,直接拷貝整個目錄過去就行,結果並不能在別的電腦使用,原因可能是編譯的時候qmmak