這是我的場景: 我在一個嵌入式Linux系統上工作並獲得用C++編寫的共享庫。除了libstdC++是必需的,這意味着額外的1M內存被佔用,它運行良好。我想將共享庫轉換爲C,以便保存1M內存。 我知道如何將C++代碼手動轉換爲C,但它會很無聊。所以我尋找解決方案,並得到一個類似的問題:Use Clang to convert C++ to C code。但是生成的代碼不可讀。我想獲得可維護的C源代
即使使用了變量,我仍然面臨的一個問題是編譯器會抱怨一個未使用的變量,但它只用於參數包擴展中,對於特定的實例而言,它只是空的。 例如: template <std::size_t... I>
auto func1(std::index_sequence<I...>)
{
auto var = get_tuple();
return func2(std::get<I>(var)
有一些簡單的代碼,其中clang和gcc的行爲有所不同。 int t;
extern void abort (void);
int f(int t, const int *a)
{
const int b[] = { 1, 2, 3};
if (!t)
return f(1, b);
return b == a;
}
int main(void)
{
if (f(