当前位置: 首页 > news >正文

美国做网站工资石家庄网络seo推广

美国做网站工资,石家庄网络seo推广,做游戏的php网站,邯郸做网站询安联网络Go语言是类C的语言,与C语言有着千丝万缕的联系,在Go语言的代码中可以直接调用C语言代码,但不支持直接调用 C。 Go 调用 C/C 的方式: C:直接调用 C API;C:通过实现一层封装的 C 接口来调用 C 接…

Go语言是类C的语言,与C语言有着千丝万缕的联系,在Go语言的代码中可以直接调用C语言代码,但不支持直接调用 C++。

Go 调用 C/C++ 的方式:

  • C:直接调用 C API;
  • C++:通过实现一层封装的 C 接口来调用 C++ 接口。

调用C语言

在Go语言的源代码中直接声明C语言代码是比较简单的应用情况,可以直接使用这种方法将C语言代码直接写在Go语言代码的注释中,并在注释之后紧跟 import "C",通过 C.xx 来引用C语言的结构和函数,如下所示:

package main/*
#include <stdio.h>
#include <stdlib.h>typedef struct {int id;
}ctx;ctx *createCtx(int id) {ctx *obj = (ctx *)malloc(sizeof(ctx));obj->id = id;return obj;
}
*/
import "C"
import ("fmt"
)func main() {var ctx *C.ctx = C.createCtx(100)fmt.Printf("id : %d\n", ctx.id)
}

运行结果如下:

go run main.go

id : 100

通过封装实现 C++ 接口的调用

首先我们新建一个 cpp 目录,并将 C++ 的代码放置在 cpp 目录下,C++ 代码需要提前编译成动态库(拷贝到系统库目录可以防止 go 找不到动态库路径),go 程序运行时会去链接。

├── cpp
│   ├── cwrap.cpp
│   ├── cwrap.h
│   ├── test.cpp
│   └── test.h
└── main.go

其中 test.cpp 和 test.h 是 C++ 接口的实现;cwrap.h 和 cwrap.cpp 是封装的 C 接口的实现。

1) test.h

#ifndef __TEST_H__
#define __TEST_H__#include <stdio.h>class Test {public:void call();
};#endif

2) test.cpp

#include "test.h"void Test::call() {printf("call from c++ language\n");
}cwrap.cpp#include "cwrap.h"
#include "test.h"void call() {Test ctx;ctx.call();
}

3) cwrap.h

#ifndef __CWRAP_H__
#define __CWRAP_H__#ifdef __cplusplus
extern "C" {
#endif
void call();#ifdef __cplusplus
}
#endif#endif

4) main.go

package main/*
#cgo CFLAGS: -Icpp#cgo LDFLAGS: -lgotest#include "cwrap.h"
*/
import "C"func main() {C.call()
}
http://www.ritt.cn/news/1375.html

相关文章:

  • 欧美租车公司网站模板1psd长尾关键词查询工具
  • 做批发的国际网站有哪些网上做广告宣传
  • 购物网站建设开发费用分析sem是什么职位
  • 个人网站建设 优帮云百度热度榜搜索趋势
  • 中山建设企业网站夫唯seo教程
  • 天津建站费用成都网站制作费用
  • 自己做的网站怎么传入外网有域名了怎么建立网站
  • 网页制作css网站seo优化排名
  • 电商类网站开发经典软文广告
  • 网站设计文档最新腾讯新闻
  • 河南省建设协会网站河南推广网站的公司
  • top wang域名做网站好找关键词的方法与技巧
  • 网上设计接单的网站搜索引擎优化的具体操作
  • 全国法院网站群建设会注册推广赚钱一个10元
  • 建立站点的作用长沙哪家网络公司做网站好
  • asp.net网站开发技术百度关键词竞价和收费的方法
  • 运营网站是多少关键词怎么优化
  • 网站怎么做小程序网上宣传方法有哪些
  • 好看简洁的logo黄山seo公司
  • wordpress 二栏seo推广费用
  • 网页广告素材seo营销优化
  • 工厂 电商网站建设百度seo是什么意思呢
  • 自适应的网站2024免费网站推广大全
  • 美国有个网站专门做sm站长友情链接
  • 网站建设哪家技术好重庆百度总代理
  • 网站建设学习网建站的公司
  • refrakt wordpress东莞seo技术培训
  • 黑客网站网址大全长沙百度关键词排名
  • 上海做网站报价自助建站系统
  • 企业网站包含内容软件优化