Re: [問題] 將cpp程式包成.o檔,給予c主程式使用[已解決]

看板C_and_CPP作者 ( 返無)時間13年前 (2012/09/01 10:42), 編輯推噓1(1013)
留言14則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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)

09/02 00:18, , 1F
沒特別的理由,只是我覺得公司的code,長期沒用-Wall
09/02 00:18, 1F

09/02 00:20, , 2F
-Wextra 情況下! 我不想用g++去compiler. 很明顯前輩
09/02 00:20, 2F

09/02 00:21, , 3F
會要我一一去解決error和warring. 而且那天改了一些
09/02 00:21, 3F

09/02 00:22, , 4F
設定. 他看到試了一段時間,找不出錯誤.就不想理了
09/02 00:22, 4F

09/02 00:23, , 5F
結果我找其他人幫忙才解決. 幫公司找出一個新的出路
09/02 00:23, 5F

09/02 00:26, , 6F
不代表要被這樣用! 算私心吧!
09/02 00:26, 6F

09/02 00:29, , 7F
只是看了版主和你的寫法,才知道可以這樣用. 這算是我
09/02 00:29, 7F

09/02 00:30, , 8F
該反省的地方!
09/02 00:30, 8F
我沒有想過可以用 c 來使用 c++ class library, 反之當然沒問題。 你的想法帶給我之前沒想過的東西。 就算我寫純 c, 我也大都使用 c++ compiler。 能通過 c++ compiler, 有很大機會在 c compiler 應該也沒問題。

09/02 00:56, , 9F
心胸寬廣很棒喔~~~
09/02 00:56, 9F

09/02 00:59, , 10F
compiler (n.) 編譯器 compile (v.t.) 編譯
09/02 00:59, 10F
thanks, fixed ※ 編輯: descent 來自: 111.184.177.9 (09/02 11:55)

09/02 13:04, , 11F
我當初有看到有人提出類似想法,才知道可以這樣用
09/02 13:04, 11F

09/02 13:05, , 12F
應該沒這麼偉大! 因為我不喜歡自己一個人搞定一切
09/02 13:05, 12F

09/02 13:07, , 13F
而且對方跟我說,我不會我不知道時,我會很暴怒! 但是我
09/02 13:07, 13F

09/02 13:09, , 14F
只做到這地步!
09/02 13:09, 14F
文章代碼(AID): #1GGNOi6I (C_and_CPP)
文章代碼(AID): #1GGNOi6I (C_and_CPP)