2013年12月30日 星期一
2013年12月26日 星期四
Visual Studio C++ 2003 在 Win7 上搜尋就當機的問題
Visual Studio .NET 2003 on Windows 7 hangs on search
個人推薦最簡單的方法
在下面的討論
簡單講就是先單獨關閉 VC2003 的圖形主題,若真的不行再關閉 Aero 主題一定有效。
個人推薦最簡單的方法
在下面的討論
You can do this by right clicking the shortcut to launch VS.NET 2003 and selecting properties, choosing the “Compatibility” sub-tab and then checking “Disable Desktop Compositing” as well as “Disable Visual Themes”
簡單講就是先單獨關閉 VC2003 的圖形主題,若真的不行再關閉 Aero 主題一定有效。
[Ubuntu] source: not found 的問題
我在 .sh 中寫:
結果:
解法:
在 .sh 中面加上指定使用的 Shell
StackOverflow 上的討論是說:
[1] source command not found in sh shell
source /home/myEnv
結果:
sh: 1: source: not found
解法:
在 .sh 中面加上指定使用的 Shell
#!/bin/bash
StackOverflow 上的討論是說:
The source command is built into some shells. If you have a script, it should specify what shell to use on the first line, such as:#!/bin/bash
[1] source command not found in sh shell
2013年12月25日 星期三
待整理 fork pipe dup2 execlp
fork()、pipe()、dup2() 和 execlp() 的組合技法
fred-zone.blogspot.tw/2010/05/forkpipedup2-execlp.html
fred-zone.blogspot.tw/2010/05/forkpipedup2-execlp.html
GDB: breakpoint 出現 No Such File 的問題
有時使用遠端 Remote Debug 時,在下斷點時 GDB 會莫名出現 "No Such File" 的訊息,使得斷點一下在該檔案 GDB 就會提示一次,並且執行不到該檔案的路徑。
解決方法:
Debug Configurations → Source Tab → Add → Compilation Directory
指定到該找不到的檔案的目錄(或是 Project 目錄也行)
同場加映:
8 gdb tricks you should know
https://blogs.oracle.com/ksplice/entry/8_gdb_tricks_you_should2013年12月23日 星期一
使用 boost::lexical_cast
在該篇討論中,最後提到,使用 Boost 的 lexical_cast 會有效率不彰的問題,除非真的必要(或是效率不重要),否則還是少用。
[1] 在文字和數字間轉換:boost::lexical_cast
[1] 在文字和數字間轉換:boost::lexical_cast
2013年12月20日 星期五
When Ubuntu Mount Permission denied
[root@freescale component]# mount -o nolock 192.168.1.126:/home/MyShare /mnt/nfs/
mount: 192.168.1.126:/home/MyShare failed, reason given by server: Permission denied
root@susan-ubuntu:~# cd /etc
root@susan-ubuntu:/etc# gedit exports
/home/MyShare *(rw,sync,no_root_squash)
/home/Others *(rw,sync,no_root_squash)
restart nfs server
# sudo /etc/init.d/nfs-kernel-server start
check nfs server mount
# showmount -e localhost
1. Install
$ sudo apt-get install nfs-common
$ sudo apt-get install nfs-kernel-server
2. 設定 /etc/exports (For example: 將/mnt/iso share給all net使用)
$ sudo vi /etc/exports
/mnt/iso *(ro,sync)
3. 啟動 nfs server
$ sudo /etc/init.d/nfs-kernel-server start
FC6
重啟
/etc/init.d/nfs restart
檢查
exportfs
http://linux0101.blog.hexun.com.tw/8225946_d.html
4. 檢查
$ showmount -e localhost
成功的話應該可以看到這樣的訊息:
Export list for localhost:
/mnt/iso *
Ubuntu 架設nfs server
http://go-linux.blogspot.tw/2007/07/ubuntu-nfs-server.html2013年12月11日 星期三
MTP 是什麼?
MTP 模式是微軟制訂的媒體傳輸協議(Media Transfer Protocol),透過 Windows Media Player 10 以上可以輕鬆管理影音檔案。
Android 4.1 開始使用這種方式來取代 USB 碟模式,基本上也不要擔心,因為兩者使用上幾乎沒有差別,同樣可以透過 USB 線來互傳檔案。
MTP 模式好處就是你可以同時在手機跟 PC 上存取手機上的檔案,記得以前手機接上 PC 後 (變成 USB 碟) 手機就不能執行某些 APP 了 (還能接電話啦!)
尤其是一些 APP 安裝在 SD 卡上的話。而且當手機脫離 PC 之後還要等一會兒,讓手機重新掃過內部儲存空間或室外插 SD 記憶卡之後才能正常運作
參考來源:
[1] 手機更新後出現 " 已啟用 MTP 模式 "
Android 4.1 開始使用這種方式來取代 USB 碟模式,基本上也不要擔心,因為兩者使用上幾乎沒有差別,同樣可以透過 USB 線來互傳檔案。
MTP 模式好處就是你可以同時在手機跟 PC 上存取手機上的檔案,記得以前手機接上 PC 後 (變成 USB 碟) 手機就不能執行某些 APP 了 (還能接電話啦!)
尤其是一些 APP 安裝在 SD 卡上的話。而且當手機脫離 PC 之後還要等一會兒,讓手機重新掃過內部儲存空間或室外插 SD 記憶卡之後才能正常運作
參考來源:
[1] 手機更新後出現 " 已啟用 MTP 模式 "
How do I check my Ubuntu version is 32-bit or 64-bit
How do I check my Ubuntu version is 32-bit or 64-bit?
[1] How do I check if I have a 32-bit or a 64-bit OS?
uname -aResult for 32-bit Ubuntu:
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linuxwhereas the 64-bit Ubuntu will show:
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
[1] How do I check if I have a 32-bit or a 64-bit OS?
Ubuntu 12.04 Install Firefox 20
In this article I will show you how to install the latest (stable)
Firefox, Firefox 20, on your Ubuntu 13.04 Raring Ringtail, Ubuntu 12.10
Quantal Quetzal, Ubuntu 12.04 Precise Pangolin, Linux Mint 14 Nadia and
Linux Mint 13 Maya.
Installing Firefox 20 on Ubuntu and Mint is quite easy. All you have to do is:
Add the Firefox repo:
Update the system:
Install Firefox:
[1] to Install Firefox 20 in Ubuntu 13.04, Ubuntu 12.10, Ubuntu 12.04, Linux Mint 14 and Linux Mint 13 by PPA
Installing Firefox 20 on Ubuntu and Mint is quite easy. All you have to do is:
Add the Firefox repo:
$ sudo add-apt-repository ubuntu-mozilla-security/ppa
Update the system:
$ sudo apt-get update
Install Firefox:
sudo apt-get install firefox
[1] to Install Firefox 20 in Ubuntu 13.04, Ubuntu 12.10, Ubuntu 12.04, Linux Mint 14 and Linux Mint 13 by PPA
2013年12月9日 星期一
如何使用 Ubuntu 下的 Shared Floders?
方法如下:
1. 點選已安裝的虛擬機→右鍵選Setups→Options→Shared Floders→ADD→Browse 選擇要加與實體主機的共享磁碟或路徑
2. 在虛擬機上選擇"連線網路磁碟機"→瀏覽整個網路→選"VMware Shared Folders"下的相對應共享目錄,即可在虛擬機內使用實體主機內的資料檔案
另外在主機上也可開啟虛擬機的硬碟檔案
使用 VMware DiskMount 工具,這是VMware的免費工具
檔案下載 http://www.vmware.com/download/ws/index.html#Utilities
安裝後的使用方式 (已預設安裝路徑"C:\Program Files\VMware\VMware DiskMount Utility"為例,請以你實際安裝路徑為準)
vmware-mount V: "C:\Documents and Settings\Administrator\My Documents\My Virtual Machines\Windows XP Professional.vmdk" (以上路徑以虛擬安裝Windows XP為例)
vmware-mount V: -d (移除虛擬機硬碟路徑)
此方式可在虛擬機未開啟時連結至虛擬機之硬碟,但若要啟動虛擬機時,必須卸載虛擬機硬碟連結路徑!
/mnt/hgfs/share
原文來自 : http://forum.icst.org.tw/phpbb/viewtopic.php?t=8006 Lu 大大的回覆
[1] VMWare 虛擬機如何共享實體主機的資料夾
[2] 【求助】為何Vmware V5.5 無法於主ˋ客系統間拖拉檔案?
1. 點選已安裝的虛擬機→右鍵選Setups→Options→Shared Floders→ADD→Browse 選擇要加與實體主機的共享磁碟或路徑
2. 在虛擬機上選擇"連線網路磁碟機"→瀏覽整個網路→選"VMware Shared Folders"下的相對應共享目錄,即可在虛擬機內使用實體主機內的資料檔案
另外在主機上也可開啟虛擬機的硬碟檔案
使用 VMware DiskMount 工具,這是VMware的免費工具
檔案下載 http://www.vmware.com/download/ws/index.html#Utilities
安裝後的使用方式 (已預設安裝路徑"C:\Program Files\VMware\VMware DiskMount Utility"為例,請以你實際安裝路徑為準)
vmware-mount V: "C:\Documents and Settings\Administrator\My Documents\My Virtual Machines\Windows XP Professional.vmdk" (以上路徑以虛擬安裝Windows XP為例)
vmware-mount V: -d (移除虛擬機硬碟路徑)
此方式可在虛擬機未開啟時連結至虛擬機之硬碟,但若要啟動虛擬機時,必須卸載虛擬機硬碟連結路徑!
/mnt/hgfs/share
原文來自 : http://forum.icst.org.tw/phpbb/viewtopic.php?t=8006 Lu 大大的回覆
[1] VMWare 虛擬機如何共享實體主機的資料夾
[2] 【求助】為何Vmware V5.5 無法於主ˋ客系統間拖拉檔案?
2013年12月6日 星期五
在 Blogger 上用 Google Code Prettify 顯示程式碼
經由 在 Blogger 上用 Google Code Prettify 顯示程式碼 的詳細描述後按圖施工,終於也將我的 Blogger 加上顯示程式碼的功能啦!
為了讓自己也記得怎麼做,特地記錄下來。
1. 在範本中的 <head> 插入這段:
2. 修改 CSS:
最後在要顯示的程式碼用 <pre class="code prettyprint"> 和 </pre> 夾起來就行了
不過由於HTML的關係,要在純文字(撰寫)模式下貼上,再切到 HTML 模式下修改即可。
其它參考:
[1] 利用「新增小工具」功能,不必修改範本即可改變部落格的 CSS 樣式的方法
[2] 在網頁中嵌入顯示程式碼:Google Code Prettify
為了讓自己也記得怎麼做,特地記錄下來。
1. 在範本中的 <head> 插入這段:
<link href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css" rel="stylesheet" type="text/css"></link> <script language="javascript" src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js" type="text/javascript"></script> <script language="javascript" src="http://google-code-prettify.googlecode.com/svn/trunk/src/lang-css.js" type="text/javascript"></script> <script type="text/javascript"> document.addEventListener('DOMContentLoaded',function() { prettyPrint(); }); </script>
2. 修改 CSS:
pre.code { display: block; /* fixes a strange ie margin bug */ font-family: Consolas, Verdana; font-size: 10pt; overflow:auto; background: #f0f0f0 url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAASwCAYAAAAt7rCDAAAABHNCSVQICAgIfAhkiAAAAQJJREFUeJzt0kEKhDAMBdA4zFmbM+W0upqFOhXrDILwsimFR5pfMrXW5jhZr7PwRlxVX8//jNHrGhExjXzdu9c5IiIz+7iqVmB7Hwp4OMa2nhhwN/PRGEMBh3Zjt6KfpzPztxW9MSAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzB8HS+J9kUTvzEDMwAAAABJRU5ErkJggg==) left top repeat-y; border: 3px solid #ccc; padding: 10px 10px 10px 21px; max-height:400px; line-height: 1em; }
最後在要顯示的程式碼用 <pre class="code prettyprint"> 和 </pre> 夾起來就行了
不過由於HTML的關係,要在純文字(撰寫)模式下貼上,再切到 HTML 模式下修改即可。
其它參考:
[1] 利用「新增小工具」功能,不必修改範本即可改變部落格的 CSS 樣式的方法
[2] 在網頁中嵌入顯示程式碼:Google Code Prettify
2013年12月4日 星期三
讀資料夾下的檔案
void main(int argc, char **argv) { std::string filename,strPNG,strTXT; wchar_t InputPath[65535] = L"C:\\MyFolder"; wchar_t szDir[65535]; wchar_t dir[65535]; _WIN32_FIND_DATAW FileData; HANDLE hList; swprintf(szDir, L"%s\\*", InputPath ); hList = FindFirstFileW( szDir, &FileData); SetCurrentDirectory( InputPath ); while(1) { if ( hList == INVALID_HANDLE_VALUE ) { cout << "No files be found.\n\n"; } else { if (!FindNextFile(hList, &FileData)) { if (GetLastError() == ERROR_NO_MORE_FILES) break; } swprintf(dir, L"%s\\%s", InputPath, FileData.cFileName); wprintf( L"%s\n", dir); } } FindClose(hList); }
wsprintf 和 swprintf wsprintf 其實是一個巨集,對應著兩個 Windows API:wsprintfA 和 wsprintfW。最前面的那個w,不是寬字符(wide)的“w”,而是Windows的“w”。 而 swprintf 是 sprintf 的寬字符版,是 C 的標準輸入輸出。而造成這個問題的原因,則在於 Windows 的 wsprintf,並不支援浮點數……