原创 _snprintf_s系列備忘

微軟的_snprintf_s總是記不清n的作用。現整理如下。_snprintf_s有兩個版本。一個是帶參數模板的,使用於數組,另一個需要指明可操作空間的,適用於堆區變量或數組。在debug模式下,它還會將'\0'之後至n爲止的區域設爲-2

原创 windows下boost庫的選擇

windows下boost使用完全編譯(b2 --build-type=complete)(這條命令只能編出win32的,編x64的可使用b2 --stagedir=.\stage_x64 --build-type=complete ad

原创 boost::asio使用async_read_until配合boost::regex讀取數據

1. 問題         很容易找到代碼,boost::asio使用async_read_until配合boost::regex讀取數據。但是卻不知道怎麼把數據從buf中讀取出來。大部分示例中只有 boost::streambuf bu

原创 qt5.5使用qdebug打印gbk的漢字

環境: qt5.5.0 32位。 windows msvc2013 -------------- //tool.cpp #include 'tool.h' #include <QTextCodec> QTextCodec *g_textc

原创 qt中的toUtf8, toLatin1, Local8bit, toUcs4

1 首先說下字符集。 gb18030字符集兼容了gbk字符集,以兩個字節表示一個文字。windows系統可能使用的就是這兩種的一種。 unicode字符集以2個或以上的字節表示一個漢字。 通用字符集(Universal Character

原创 QTcpSocket的讀寫操作

QTcpSocket的讀寫函數一般是異步的,即write函數執行後,其實不一定會把數據寫入socket,可能要等到事件循環(main函數的return a.exec())纔會寫入。如果需要立即寫入,要執行QTcpSocket的flush函

原创 u盤安裝centos7

主要參見這篇文章。www.augsky.com/599.html 特別感謝ta說的這一步vmlinuz initrd=initrd.img linux dd quiet 改完之後進入troobleshooting這一選項,就可以進入圖形啓

原创 ida調試win64選擇windbg

1. 從52pojie上下載了ida6.8。 2. 打開idaq64.exe,不知道爲什麼,我的win7上可以選擇windbg調試器,win10上卻不行。 3. windbg x86版安裝在C:\Program Files (x86)\W

原创 主線程沒有return a.exec()下,次線程使用信號槽的方法

1. 需求點         例如mfc程序,或者有些程序主線程已經被隱藏。這時候,如果我們在次線程使用qt的信號槽(例如使用Qtcpserver),那麼信號槽是無法響應的。 2. 原因         信號槽要存儲入事件隊列後,在事件循

原创 grub2啓動windows

我在c盤安裝了windows,然後硬盤最末尾安裝了centos7.。成功後,重啓發現沒有啓動windows的選項。看看我的linux的/boot目錄下有grub2目錄,因此可用之管理。 解決方法: 開機時,在grub頁面,按c鍵,進入gr

原创 android studio編譯卡在gradle不能退出

我的os:centos7 解決方法:gradle目錄下的bin目錄裏的文件沒有可執行權限。 gradle目錄默認是/android-studio/gradle/gradle-2.4。gradle可以從此下載http://www.andro

原创 gnome下啓動kde

由於android studio在gnome下運行時,某些頁面太大而無法顯示,所以我使用kde界面 方法一: 首先安裝kde。註銷,然後重新登錄,在輸入密碼的時候,密碼框下面有個圖標,可以點擊,進而選擇kde界面 方法二: 安裝kde。按

原创 centos7下mksdcard不能運行

初次啓動android studio時提示無法啓動mksdcard 經查,這是一個32位程序。所以要安裝32位的相關庫,包括c庫和c++的庫 sudo yum install xulrunner.i686 sudo yum install