作者ric2k1 (Ric)
看板EE_DSnP
標題[討論] 用 Linux 時的小細節
時間Fri Sep 30 00:50:48 2011
有時大家用 Linux 時 (尤其是從 M$ Windows copy/download 東西過來時)
會遇到一些莫名其妙的問題,
在這裡整理一下,避免大家莫名的浪費許多時間。
也歡迎大家 repost 補充!
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
[徵狀] 執行檔明明在,但是卻執行不了?
[對策]
1. 如果他說 command not found, 那應該是你的 path 裡沒有 '.'
可以 set path 加上 '.'
或者直接打 ./執行檔名
2. 如果他說 Permission denied.
那 chmod +x 執行檔名 試試看
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
[徵狀] 從 Windows copy/download 一個 .cpp/.h 檔案過來,看起來都很 OK,
但是 compile 起來卻有一堆奇怪的文法錯誤...
[對策]
1. 用 vim 打開看看程式碼是彩色的嗎?
如果是黑白的,那很可能是 Windows 對於 end-of-line 的處理與 Linux 不同,
一個簡單的方法是用 "dos2unix" 指令直接把 .cpp/.h 修好。
2. 仔細檢查一下 有沒有包含 全形 的字元 ?
尤其是引號 " " ' ',或是 減號 - (變成比較長的破折號),甚至括號 ( )
解決辦法很簡單,就是把這些字元刪掉在 vim 底下重打一遍就好了!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[徵狀] 我不小心 "g++ -o 辛苦寫很久的.cpp" 了...
[對策]
(沒救了... 就像 rm 沒有 -i 一樣... 請節哀!!)
1. 常備份
2. 設定 alias
例: (.cshrc/.tcshrc)
alias G++ "g++ -g -Wall -o \!* \!*.cpp"
例: (.bashrc)
G++() { g++ -g -Wall -o $1 $1.cpp }
用法: "G++ 辛苦寫很久的"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: ric2k1 來自: 114.36.57.234 (09/30 00:52)
1F:推 vuluy:好奇"g++ -o 辛苦寫很久的.cpp"是會把.cpp直接變成執行檔嗎? 09/30 01:06
2F:推 wmin0:樓上正解 09/30 01:46
3F:→ ric2k1:可以試試看啊 (s/辛苦寫很久的/隨便寫寫的/)! 09/30 02:09