2012-07-28 61 views
3

對於那些已經閱讀並完成stroustrup的「編程原理和使用C++實踐」的練習,我在做第8章練習的第一部分時遇到了困難。這個部分的主要問題是在問題結束時,它指出「在Windows上,您需要在項目中同時使用use.cppmy.cpp並使用{char cc; cin> > cc;} in use.cpp能夠看到您的輸出。「如果我們不允許std_lib_facilities.h對於use.cpp我們該如何做到這一點?
當它說「在Windows上,您需要在項目中同時使用use.cppmy.cpp」時,它究竟意味着什麼?如果我正在深入研究這件事,請告訴我。stroustrup ppp第8章鑽頭

創建三個文件:my.hmy.cpp,並use.cpp。頭文件my.h包含

的extern INT FOO;
void print_foo();
void print(int);

的源代碼文件my.cpp其中的#include my.hstd_lib_facilities.h限定print_foo()打印使用COUT foo的的值,和打印(int i)以要打印的使用COUT的值。

的源代碼文件use.cpp即會的#includemy.h限定主()設置foo的值設置到和使用print_foo其打印( ),並使用print()打印值99。請注意,use.cpp不會#includestd_lib_facilities.h,因爲它不直接使用任何這些設施。

獲得這些文件的編譯和運行。在Windows上,您需要在項目中同時使用use.cppmy.cpp並使用{char cc; CIN >>立方厘米; } in use.cpp能夠看到您的輸出。

回答

1
{ char cc; cin>>cc; } 

是用於從標準輸入(爲輸入等待)讀取字符。在VS和其他IDE中,你只需要這樣做就可以看到程序的輸出,否則cmd窗口會關閉得太快而無法讀取輸出。你不需要std_lib_facilities.h,只需要include <iostream>並在main函數的末尾寫上面的代碼。

獲得這些文件的編譯和運行。在Windows上,您需要在項目中同時使用 use.cpp和my.cpp,並使用{char cc; CIN >>立方厘米; } use.cpp能夠看到你的輸出。

要在Windows上編譯,在VS或其他一些IDE,則需要包括源文件。在linux上你也需要,但是,編譯過程(makefile或g ++)明確要求這些文件,所以對於這些文件強調的窗口。

+0

對我來說,它說''foo''的未定義引用。我正在使用C++ 14標準的g ++編譯器。它應該是這樣嗎? – 2017-05-02 14:42:11

相關問題