构建混合 C/C++ 代码

building a mixed c/c++ code

本文关键字:C++ 代码 混合 构建      更新时间:2023-10-16

我有一个同时使用iostreammalloc.cc文件。我该如何编译它?使用g++,它说

 error: 'malloc' was not declared in this scope

使用gcc,它说

 fatal error: iostream: No such file or directory

源代码位于 http://sequitur.info/sequitur_simple.cc

更新

我把malloc改成new,追free delete.我仍然得到很多错误。例如

 /usr/include/c++/4.6/new:103:14: error:   initializing argument 2 of âvoid* operator new(std::size_t, void*)â [-fpermissive]
要么

包含<stdlib.h>要么包含<cstdlib>并将malloc更改为std::malloc - 使用 g++ 编译。包含 <cstdlib> 是新C++代码的首选方式,"name.h"样式在C++中已弃用。

虽然这将解决您的问题,但迁移到 new/delete ,以更一致地C++。

你有没有尝试过包含

#include <stdio.h>      
#include <stdlib.h>   

并使用 G++?

C++代码中使用new和delete。 不要混合新的和malloc。 从您发布的代码中,没有任何理由不能使用new和删除AFAIK