看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《angleevil (邪月)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : GCC, Linux : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : 問題(Question): : 因為公司想使用hash table的功能, : 我在網路上搜尋一下c寫的hash table都沒有c++的map好用! : 所以我打算把cpp的程式包成.o,讓c去使用(前輩很堅持要用c..) 就算堅持要用 c, 也可以使用 c++ compiler 來 compile, 那就可以用 std::map 了。 有用到什麼特別的部份無法用 c++ compiler compile c code 嗎? 我把 https://gist.github.com/3516034 稍微改了一下, 只有 map.cpp 才需要用 g++ 來 compile, 其他檔案都用 gcc compile, 參考看看, 我的平台可以正常執行。 main.out: main.o map.o gcc main.o map.o -o main.out -lstdc++ main.o: main.c gcc -c main.c -o main.o map.o: map.cpp g++ -c map.cpp -o map.o clean: rm -f *.o *.out github source code: https://github.com/descent/progs c_use_cpp_class directory -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.177.9 ※ 編輯: descent 來自: 111.184.177.9 (09/01 10:43)
angleevil:沒特別的理由,只是我覺得公司的code,長期沒用-Wall 09/02 00:18
angleevil:-Wextra 情況下! 我不想用g++去compiler. 很明顯前輩 09/02 00:20
angleevil:會要我一一去解決error和warring. 而且那天改了一些 09/02 00:21
angleevil:設定. 他看到試了一段時間,找不出錯誤.就不想理了 09/02 00:22
angleevil:結果我找其他人幫忙才解決. 幫公司找出一個新的出路 09/02 00:23
angleevil:不代表要被這樣用! 算私心吧! 09/02 00:26
angleevil:只是看了版主和你的寫法,才知道可以這樣用. 這算是我 09/02 00:29
angleevil:該反省的地方! 09/02 00:30
我沒有想過可以用 c 來使用 c++ class library, 反之當然沒問題。 你的想法帶給我之前沒想過的東西。 就算我寫純 c, 我也大都使用 c++ compiler。 能通過 c++ compiler, 有很大機會在 c compiler 應該也沒問題。
damody:心胸寬廣很棒喔~~~ 09/02 00:56
uranusjr:compiler (n.) 編譯器 compile (v.t.) 編譯 09/02 00:59
thanks, fixed ※ 編輯: descent 來自: 111.184.177.9 (09/02 11:55)
angleevil:我當初有看到有人提出類似想法,才知道可以這樣用 09/02 13:04
angleevil:應該沒這麼偉大! 因為我不喜歡自己一個人搞定一切 09/02 13:05
angleevil:而且對方跟我說,我不會我不知道時,我會很暴怒! 但是我 09/02 13:07
angleevil:只做到這地步! 09/02 13:09