3
我想從go語言代碼運行C調用。這裏是我運行的程序:無法從go運行C調用
package main
// #include<proxy.h>
import "C"
import "fmt"
func main(){
fmt.Println(C.CMD_SET_ROUTE)
}
這裏是文件proxy.h的內容:
#ifndef PROXY_H
#define PROXY_H
#include <netinet/in.h>
#ifdef CMD_DEFINE
# define cmdexport
#else
# define cmdexport static
#endif
cmdexport const int CMD_SET_ROUTE = 1;
cmdexport const int CMD_DEL_ROUTE = 2;
cmdexport const int CMD_STOP = 3;
現在,這裏是試圖運行該程序時,我收到錯誤:
[email protected]:~$ go run test.go
# command-line-arguments
could not determine kind of name for C.CMD_SET_ROUTE
我正在使用gccgo-5並轉到版本1.4.2。你能幫我弄清楚這到底是什麼問題嗎? TIA。
我將避免試圖用gccgo *和* go1.4.2。堅持使用默認工具鏈,直到您對gccgo有特定需求,以避免增加混淆。 – JimB
代碼中有很多語法錯誤。如果你在使用cgo之前瀏覽[this](http://blog.golang.org/c-go-cgo)博客帖子會更好。 –