一周工作总结

这一周主要在研究如何实现python调用c++,以及回调函数。这期间遇到很多问题,在这里做一个总结。

1.c++在linux下如何编译。

之前没有过在linux下编译c++工程的经验,所以花了些时间学习。

1)cmakelist

编写整个工程所依赖的库文件的路径,以及是希望编译成动态库还是静态库还是可执行文件。这里具体怎么指定,还没有研究。下面的文章有介绍。

https://blog.csdn.net/ryiim/article/details/104797514

2)cmake 和 make

内容引自博客

https://blog.csdn.net/weixin_42491857/article/details/80741060

写程序大体步骤为:

1.用编辑器编写源代码,如.c文件。

2.用编译器编译代码生成目标文件,如.o。

3.用链接器连接目标代码生成可执行文件,如.exe。

但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。

对于一个大工程,编写makefile实在是件复杂的事,于是人们又想,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了cmake工具,它能够输出各种各样的makefile或者project文件,从而帮助程序员减轻负担。但是随之而来也就是编写cmakelist文件,它是cmake所依据的规则。所以在编程的世界里没有捷径可走,还是要脚踏实地的。

所以流程如下:

2.共享内存

学习完c++的编译之后,我的代码需要实现的是基于共享内存与其他的进程通信。之前没有接触过进程间的通信,所以比较陌生。

每个进程都有一个自己的进程块以及自己的地址空间,地址空间对应一张页表,页表完成虚拟地址到物理地址的映射。那么共享内存就是将多个进程的地址空间映射到一块相同的区域。

 

3.api,回调函数,注册,观察者模式以及工厂模式

这几个概念以前都只是听过,但是从来没有接触过。看了观察者模式似乎理解了什么是注册。一个主题可以有多个观察者,每个观察者在subject注册,只要subject发生改变,那么所有的观察者就都会收到通知。目前我似乎要做的就是在共享内存api注册,然后等数据更新之后,我作为观察者就可以收到数据。

回调函数目前能够理解的层面还是只到传函数指针,可以让应用与回调函数在同一层。然后将自己的回调函数传给库函数。利用回调函数可以剥离出一个应用中某可变步骤的主动控制。

工厂模式还没有怎么看。

但是这些本质感觉都是函数。

 

4.异步

程序在函数执行结果返回前继续执行,执行完之后结果会回调给主进程。后面还需要实战来学习。

 

5.python boost

jb51.net/article/150384.htm

导出c++的函数

然后在python 中调用这个函数然后传参给c++的模块。

这是这一周接触到的新概念,后面要加强理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值