久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

golang調(diào)用c++文件

 9252娃兒 2017-01-13
??

1,,將c++ 的方法提取到頭文件.h中( )

2,,編譯cc(c++)文件為動態(tài)鏈接庫so文件

3,,將頭文件放入include目錄 .so放入lib目錄

4,Go程序中指定 CFLAGS 和 LDFLAGS

#cgo  CFLAGS:  -I  ./include 
#cgo  LDFLAGS:  -L .b  -lhello   -Wl,-rpath,/usr/localb  

5,,運行發(fā)布時候指定 export LD_LIBRARY_PATH="lib文件所在目錄" (`pwd`)

 目錄結(jié)構(gòu): 

 
|-project
|  |-lib
|  |  |-libhello.so
|  |-include
|  |  |-hello.h
|  |-src
|  |  |-main.go
|  |-pkg
|  |-bin
 

 

編譯為so文件

g++ -g -Wall -lssl -lcrypto -c decrypter.cc -fPIC -shared -o libdecrypter.so

 

go文件:

 
 package main  

/* 
#cgo  CFLAGS:  -I  ./include 
#cgo  LDFLAGS:  -L ./lib  -lhello 
#include "hello.h" 
*/  
import "C"  
func main() {  

        C.hello(C.CString("call C hello func"))  
}  
 

 hello.c

 
#include "hello.h"
#include <stdio.h>

void hello(const char *str)
{
        printf("%s(%d): %s\n", __FUNCTION__, __LINE__, str);
}
 

hello.h

#ifndef ___HELLO___
#define __HELLO___
void hello(const char *str);
#endif

 

 

編譯: go build main.go 

編譯如果出錯:  

# command-line-arguments
/tmp/go-build471704263/command-line-arguments/_obj/xx.cgo2.o: In function `_cgo_7f644bb4ca7c_Cfunc_xxxx':
請一定檢查so文件是否為libxxx.so 
 
編譯如果報錯 could not determine kind of name for C.xxx
請檢查 import "C" 是不是緊挨著 go頂部頭文件c++ 部分注釋代碼
 

運行:  ./main

運行如果出現(xiàn):     error while loading shared libraries: xxx.so: cannot open shared object file: No such file or directory

 請一定要 export LD_LIBRARY_PATH="動態(tài)鏈接文件所在目錄"  

 

其他說明:golang的注釋中直接寫函數(shù)內(nèi)容的方式只支持c不支持C++  

package main //?。。?!以下為c代碼不支持c++ /* #include <stdio.h> #include <stdlib.h> #include <unistd.h> void hello(const char *str) { printf("===> %s(%d): %s\n", __FUNCTION__, __LINE__, str); } */ import "C" func main() { C.hello(C.CString("call C hello func")) } 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多