我想将大量对象 malloc 到内存中。(大约 1 亿个对象)因为 golang 的 gc 不够有效,所以我需要使用 c/c++ 来 malloc 内存并使用 std::vector 来保存对象。这是我的代码,我想在 cgo 中使用 std 容器:
package main
import (
"fmt"
)
/*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vector>
using namespace std;
void dosome(){
vector<int> ivec; // empty vector
for (vector<int>::size_type ix = 0; ix != 10; ++ix)
ivec[ix] = ix; // disaster: ivec has no elements
}
*/
// #cgo LDFLAGS: -lstdc++
import "C"
//import "fmt"
func main() {
C.dosome()
var input string
fmt.Scanln(&input)
}
并有以下错误消息:
go run stddemo.go
# command-line-arguments
./stddemo.go:13:10: fatal error: 'vector' file not found
#include <vector>
^
1 error generated.
我如何设置包含路径或者还有其他想法?
萧十郎
慕森王
犯罪嫌疑人X
相关分类