0
我得到錯誤「./test.h:10:3:錯誤:未知類型名稱'PROCESS'」當我包含我的頭文件test.h具有結構定義PROCESS作爲我的C的一部分Go Lang應用程序。該代碼使用C編譯沒有問題,所以我想我做的事情很簡單的錯誤...爲什麼CGo不能識別我在頭文件中聲明的結構?
package main
// #include <sys/mman.h>
// #include <errno.h>
// #include <inttypes.h>
// #include <stdlib.h>
// #include "test.h"
import "C"
import (
"fmt"
_"unsafe"
)
func main() {
fmt.Println("Retrieving process list");
}
test.h的含量低於...
#include <sys/mman.h>
#include <errno.h>
#include <inttypes.h>
#include <stdlib.h>
struct PROCESS {
char *name;
int os_type;
addr_t address;
PROCESS *next;
//fields we care about
unsigned int uid;
unsigned int gid;
unsigned int is_root;
unsigned int io_r;
unsigned int io_wr;
unsigned int io_sys_r;
unsigned int io_sys_wr;
unsigned int used_super;
unsigned int is_k_thread;
unsigned int cpus;
unsigned long hw_rss;
unsigned long vma_size;
unsigned long map_count;
unsigned long pages;
unsigned long total_map;
unsigned long min_flt;
unsigned long mm_usrs;
unsigned long nr_ptes;
unsigned long nvcsw;
};
哇,這工作完美,謝謝你克利福德。我將C++重構爲C以避免必須使用SWIG,甚至不知道這會是一個問題。謝謝。 – dimlee