2
我想用C語言編寫一個函數,但是可以從C++中調用,它需要一個受限制的指針。這僅在c99中可用,所以g ++不喜歡它,即使在extern "C"
塊中。我怎樣才能解決這個限制?在C++的`extern「C」塊中使用c99
我想用C語言編寫一個函數,但是可以從C++中調用,它需要一個受限制的指針。這僅在c99中可用,所以g ++不喜歡它,即使在extern "C"
塊中。我怎樣才能解決這個限制?在C++的`extern「C」塊中使用c99
#ifdef __cplusplus
# ifdef __GNUC__
# define restrict __restrict__ // G++ has restrict
# else
# define restrict // C++ in general doesn't
# endif
#endif
'extern「C」並不意味着包含的代碼是C,這意味着在那裏聲明的任何函數或項都將使用C鏈接。 – 2010-09-11 01:09:44
只是在開玩笑:嘗試'extern「C99」' – pmg 2010-09-11 12:08:45
類似的問題在這裏:struct XY a = {.x = 1,.y = 2};'不會在extern「C」塊內編譯:_error:expected primary- '。'token_之前的表達,令人沮喪!相反,過時的形式'struct XY a = {x:1,y:2};'工作。哎喲! – gatopeich 2011-04-15 16:42:42