原创 在Eclipse CDT中利用Build Configuration構建有多個main函數的程序

進來在爲家裏寶寶編寫C/C++教程講義,想用Eclipse做個project,裏面每個文件是一個演示程序或者練習的答案。由於每個源代碼文件都是完整的,都會有main函數,因此就會導致鏈接時出錯,提示main函數重複定義。看到Eclipse

原创 坑爹的工行Chrome網銀插件

最近系統學習jQuery,在做一個頁面的時候,在chrome下頁面右邊莫名其妙出來一塊長條空白區,如下圖所示: 對代碼各種修改,也沒解決這個問題。後來打開chrome的頁面元素查看工具,發現頁面代碼裏莫名其妙多出來一行: <objec

原创 Eclipse CDT編譯Windows資源文件(.rc文件)

折騰了很久終於弄明白如何在Eclipse CDT環境中編譯Windows編程所需的資源文件了。步驟如下: 1. 在project中加入資源文件resources.rc,然後鼠標右擊該文件,在彈出菜單中選擇“proterties”,如下圖所

原创 基於USBDeview的自制USB設備監管系統實現(2)——USBDeview工具

上一章提到,本系統中採用了usbdeview程序作爲USB Device Monitor程序。 usbdeview是NirSoft出品的一款USB設備控制的小程序,可以列出當前系統曾經插入的所有USB設備的詳細信息。這是個綠色軟件,可以隨

原创 【筆記】圖片在中水平和垂直居中的兩種方法

以下是使得圖片在<div>中水平和垂直居中的兩種方法:<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>DIV水平及垂直居中</tit

原创 基於USBDeview的自制USB設備監管系統實現(3)——USB S/N Checker

在本系列文章的第一章已經說明了USB S/N Checker程序的作用,本章將詳細說明這個程序的編制思路,並附完整的源代碼。 由於歷史原因,USB S/N Checker在實現時被命名爲usbdevicelogger(以下簡稱UDL)。

原创 Windows下雙顯示器截屏方法

網上的Windows環境下截屏的源代碼很多,但是看到的都是隻能適應單顯示器,無法截取桌面擴展到雙顯示器情況下的完整屏幕。過查找資料和摸索,發現問題的關鍵就在於正確獲得截屏的長寬尺寸。通常,計算屏幕實際大小可以用: HWND hWnd =

原创 C++程序利用Windows API獲取GUI程序的主窗口

首先要根據進程名稱獲取進程的pid: int ProcessUtilities::lookupProcesses(const std::string &procName, std::vector<PROCESSENTRY32> &pes

原创 Ubuntu中安裝Eclipse Java EE的方法

先決條件,系統中已有JDK。Ubuntu內置了OpenJDK。 Ubuntu軟件庫中的Eclipse居然是基礎版,只有JDT和PDE,無法開發J2EE程序,這一點不及fedora,所以只能手工安裝Eclipse Java EE版。 1.

原创 在Eclipse CDT中添加非標準庫

默認情況下,在CDT中開發C/C++程序時,如果只是用C/C++標準庫,無需任何額外設置。不過,如果要開發的程序使用了非標準庫,例如WinSock庫,那就得在project中單獨設置。鼠標右擊project名,在彈出菜單中選擇Proper

原创 Apache Commons Math3學習筆記(1)- 快速傅立葉變換

傅立葉變換:org.apache.commons.math3.transform.FastFourierTransformer類。 用法示例代碼: double inputData = new double[arrayLength];

原创 筆記:STL的thread庫應用

最近研究了一下STL的thread庫,做爲學習成果,寫了幾個封裝類,把thread封裝起來,提供了sleep和stop方法,做爲對thread的補充。 基類是AbstractThread,定義了start、stop、sleep三個公開的虛

原创 類型無關的C語言通用冒泡排序函數

最近教小傢伙C語言,很快就要教到排序了,所以寫了個通用的冒泡排序程序。這個函數可以對任意類型數組中的數據排序。 需要用到的數據類型和函數聲明如下(sort.h): #ifndef __SORT_H #define __SORT_H #

原创 爲Eclipse CDT添加完整的代碼自動完成功能

Eclipse CDT是個很好的C/C++ IDE,但是其編輯器卻有個非常糟糕的槽點:代碼自動完成只支持由‘.’、‘:’、‘>’這三個字符觸發,這比大多數C/C++ IDE都差得多。這個問題很早就被提出來,並且解決的辦法並不複雜,很多人都

原创 Linux下列表所有進程、根據進程名得到pid和根據pid得到進程名

Linux下的當前正在運行的進程信息均存放在/proc目錄下,有一系列以數字爲名的子目錄,每一個子目錄對應一個進程,子目錄名就是進程的pid。子目錄下的status文件內容就是進程的基本信息,包括進程名、pid、ppid等。因此,若要掃描