如何在 C++ 程序中使用 extern C?

问题描述

我正在用 C++ 编写程序。 当我尝试编译它时,我遇到了一个问题:

gcc -ffreestanding -fshort-wchar -c src/kernel.cpp -o lib/kernel.o
src/kernel.cpp:5:8: error: expected unqualified-id before string constant
5 | extern "C" void _start(FrameBuffer* frameBuffer,PSF1_FONT* psf1_font)

这是我的主文件:

#include <stdint.h>
#include "BasicRenderer.h"


extern "C" void _start(FrameBuffer* frameBuffer,PSF1_FONT* psf1_font) // The error is here
{

    BasicRenderer newRenderer;
    newRenderer.CursorPosition = {15,50};
    newRenderer.Print(frameBuffer,psf1_font,0xffffffff,"Hello World!");

    return ;
}

我在 linux 上运行它 如何解决这个问题?

感谢您的帮助!

解决方法

如果您使用 gcc 将程序从 c 迁移到 c++,则不需要添加 case MenuItemIDs.COPY_URL:

要修复错误,只需删除 frameUrl

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...