c - 在单独构建 C 的同时构建
问题描述
我有一些 Go 代码和一些 C 代码(相当多)。我正在从 go 代码中调用 C 代码。这是一个例子:
测试.h
#ifndef TEST_H
#define TEST_H
void test();
#endif
测试.c
#include "test.h"
#include <stdio.h>
void test() {
printf("Hello from C!")
}
main.go
package main
// #include "test.h"
import "C"
import "fmt"
func main() {
C.test()
}
想象一下,我有更多的 C 代码。这段 C 代码需要一些时间来编译。使用 编译时go build
,它每次都重新编译 C。是否可以编译C并单独进行?这意味着如果我正在编写 Golang 代码,我将不必编译为 C 代码?
我试过链接目标文件,但似乎效率很低。如果这是最好的选择?如果是这样,您能否提供一个代码示例向我展示如何(因为我的方式仅适用于 Linux)。
解决方案
推荐阅读
- python-3.x - 来自包含 Windows 路径的注释的 Python 编码错误
- leaflet - 避免 Leaflet 中的工具提示冲突
- javascript - JS将单选按钮变成算法参数
- rust - 在 vscode-lldb 中调试 chrono::DateTime 时如何看到用户友好的格式?
- laravel - 为什么我得到一个未定义的变量:laravel 中的请求
- tensorflow - 纯粹根据输出在 tf keras 中添加损失
- javascript - 如何使用 jquery 获取第一个 td 值
- mysql - 如果特定列中的值重复,则 MYSQL 排除行
- maven - 想法无效的绑定语句(未找到)
- sql - 从现有表创建新表