随笔分类 -  编程

摘要:软件安装 生成protoc 使用VS2012打开build目录下的protobuf.sln文件,在protoc上右键 生成,最终生成的protoc.exe位于build的Debug目录下 向PATH添加protoc.exe路径 剩余步骤参考 "go RPC官方教程" 原生net/rpc 服务端代码 阅读全文
posted @ 2018-05-25 12:17 银魔术师 阅读(313) 评论(0) 推荐(0)
摘要:假如我们要用C语言实现下面的python脚本bird.py 调用脚本main.py 执行效果如下 实现相同逻辑的原始C代码bird.c 下面我们要将原始C代码改造成可以被main.py的python模块: 包含头文件Python.h 添加C函数fly的Python调用版本bird_fly 添加向Py 阅读全文
posted @ 2018-05-25 12:14 银魔术师 阅读(10139) 评论(2) 推荐(0)
摘要:你将学到什么 使用GObject模拟实现接口 使用接口 首先按照学习笔记(一)定义一个普通的GObject类 使用 和`G_IMPLEMENT_INTERFACE G_DEFINE_TYPE`来实现类定义 实现接口初始化函数 ,接口内声明的每个虚函数指针都要被赋予实现 扩展接口 如果一个接口的实现依 阅读全文
posted @ 2018-05-25 12:13 银魔术师 阅读(1384) 评论(0) 推荐(0)
摘要:你将学到什么 如何实现Object的构造函数和析构函数 如何在条件检测不允许的情况下终止对象创建 Object的构造函数 对象的构造函数是不允许失败,如果你需要一个允许失败的GObject构造函数,使用GIO库提供的 和`GAsynclnitable`接口(文章最后会有个例子说明) 如果你需要指定构 阅读全文
posted @ 2018-05-25 12:12 银魔术师 阅读(2219) 评论(0) 推荐(0)
摘要:你将学到什么 如何实现Object的方法 Object的方法 Object的public方法 在头文件声明一个函数,然后在源文件中实现函数即可 Object的public虚函数 GObject通过函数指针的方式来模拟C++语言的虚函数实现,具体步骤如下: 在类结构定义里面设置一个函数指针,然后定义一 阅读全文
posted @ 2018-05-25 12:12 银魔术师 阅读(793) 评论(0) 推荐(0)
摘要:你将学到什么 如何使用GObject实现一个新类 类头文件 声明一个类型的方法选择取决于类型是可被继承的还是不可被继承的。 不可被继承的类型(Final类型)使用 宏来定义,还需要在源文件(不是在头文件)中定义一个结构来保存类实例数据。 可被继承的类型使用 宏来定义 类源文件 源文件第一步就是包含上 阅读全文
posted @ 2018-05-25 12:11 银魔术师 阅读(2520) 评论(0) 推荐(1)
摘要:你将学到什么 如何使用剪切板 剪切板简介 GtkClipboard对象代表不同进程或同一进程不同构件的剪切板数据。标识每个剪切板的名字被编码成 (可以通过gdk_atom_intern()和gdk_atom_name()获取编码前的名字)。默认的剪切板对应名为 的`GdkAtom XServer P 阅读全文
posted @ 2018-05-25 11:26 银魔术师 阅读(1386) 评论(0) 推荐(0)
摘要:GTK+介绍 "官方文档" GTK+ 学习 GTK+ 依赖的函数库 Glib 提供了各种各样的语言特性,譬如说:各种数据类型、字符串函数、错误通知、消息队列和线程的通用的函数库。 Pango 用来实现国际化和本地化功能的函数库。 ATK 一种平易近人的工具函数包,提供了快捷键服务为肢体有缺陷的人使用 阅读全文
posted @ 2018-05-25 11:25 银魔术师 阅读(1701) 评论(0) 推荐(0)
摘要:你将学到什么 如何实现弹出式菜单 菜单简介 菜单(GtkMenu)由菜单项(GtkMenuItem)构成,菜单项可以是任意构件比如按钮、菜单(子菜单) 菜单项的管理 菜单外壳(GtkMenuShell)是菜单(GtkMenu)和菜单栏(GtkMenuBar)的抽象基类,它提供了管理菜单列表中的菜单项 阅读全文
posted @ 2018-05-25 11:25 银魔术师 阅读(1217) 评论(0) 推荐(0)
摘要:基本使用 使用jsoncpp库解析、修改、打印JSON串 源文件 $ cat main.cpp include include "json/json.h" using namespace std; const char style = "{ \ \"encoding\" : \"UTF 8\", \ 阅读全文
posted @ 2018-05-25 11:24 银魔术师 阅读(301) 评论(0) 推荐(0)
摘要:描述JSON串 如何使用jsoncpp提供的数据结构来存储如下JSON串? jsoncpp使用Json::Value对象来保存JSON串,Json::Value对象可以表示如下数据类型: | 枚举类型 | 说明 | 翻译 | | | | | | nullValue | 'null' value | 阅读全文
posted @ 2018-05-25 11:24 银魔术师 阅读(3565) 评论(0) 推荐(0)
摘要:JSON类型 工程目录结构 proto文件 读写源文件 $ cat reader.cpp include include include include include "style.pb.h" using namespace std; int main(int argc, char argv[]) 阅读全文
posted @ 2018-05-25 11:23 银魔术师 阅读(2046) 评论(0) 推荐(0)
摘要:环境设置 项目地址 https://github.com/open source parsers/jsoncpp.git 操作系统 安装jsoncpp 工程目录结构(模板) 编译运行项目(模板) 阅读全文
posted @ 2018-05-25 11:23 银魔术师 阅读(1401) 评论(0) 推荐(0)
摘要:表类型 protobuf语言的maps字段类型相当于C++语言的std::map类型 工程目录结构 proto文件 读写源文件 $ cat reader.cpp include include include "sample_maps.pb.h" using namespace std; int m 阅读全文
posted @ 2018-05-25 11:22 银魔术师 阅读(315) 评论(0) 推荐(0)
摘要:其中一个类型 protobuf语言的oneof字段类型相当于C++语言的联合数据类型 工程目录结构 proto文件 读写源文件 $ cat reader.cpp include include include "sample_oneof.pb.h" using namespace std; int 阅读全文
posted @ 2018-05-25 11:22 银魔术师 阅读(795) 评论(0) 推荐(0)
摘要:重复数据类型 protobuf语言的重复字段类型相当于C++的std::list数据类型 工程目录结构 proto文件 读写源文件 $ cat writer.cpp include include include include "TServer.pb.h" using namespace std; 阅读全文
posted @ 2018-05-25 11:21 银魔术师 阅读(358) 评论(0) 推荐(0)
摘要:任意类型 protobuf语言的任意字段类型相当于Boost库的boost::any类型数据,google.protobuf.Any是对protobuf语言的message进行封装,所以需要使用message来封装任意类型的数据,而不能像boost::any一样直接使用基础数据类型 工程目录结构 p 阅读全文
posted @ 2018-05-25 11:21 银魔术师 阅读(232) 评论(0) 推荐(0)
摘要:基础数据类型 protobuf语言的基础字段类型相当于C++语言的基础类型 工程目录结构 proto文件 读写源文件 $ cat writer.cpp include include include "TScalar.pb.h" using namespace std; int main(int a 阅读全文
posted @ 2018-05-25 11:20 银魔术师 阅读(605) 评论(0) 推荐(0)
摘要:环境设置 项目地址 https://github.com/silvermagic/ProtoBufDev.git 操作系统 安装protobuf 工程目录结构(模板) 编译运行项目(模板) 规范 proto文件名使用小写字母加下划线的组合方式 阅读全文
posted @ 2018-05-25 11:20 银魔术师 阅读(779) 评论(0) 推荐(0)
摘要:你将学到什么 在Python中调用C++代码时的传参问题 基础类型 Python的字符串是常量,所以C++函数参数中的 必须为 修改源文件(main.cpp) 导出实现如下(src/boost_wrapper.cpp) include include include include "boost_w 阅读全文
posted @ 2018-05-25 11:08 银魔术师 阅读(1659) 评论(0) 推荐(0)