这是我的场景: 我在一个嵌入式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(