摘要:
可以使用多态性来通过基类指针访问子类。当一个基类的指针指向一个派生类的对象时,可以使用以下方式访问子类。 使用虚函数 将函数声明为虚函数,并在派生类中重写该函数,然后通过基类指针调用该函数,将会调用到派生类的实现,从而访问派生类。 class Base { public: virtual void 阅读全文
摘要:
首先klayout是提供了相应的工具的,进入到构建目录下,添加以下环境变量并运行./ut_runner就会自动跑测试 export TESTTMP=testtmp # path to a directory that will hold temporary data (will be created 阅读全文
摘要:
执行db::Reader reader (instream)创建一个Reader对象,报错如下所示 这是因为没有将各类数据格式进行加载导致的,在dbInit.cc文件中的init()函数中有如下代码段,其中load_plugin就是用来加载各类数据格式。 因此在进行各类读写操作时,需要先调用db:: 阅读全文
摘要:
原因 当路径中存在中文时,db::init()中调用的tl::get_module_path ((void *) &init)返回值是错误的,更具体一点就是dladdr (addr, &info)这个函数会出错,改到没有中文的路径就可以了。 阅读全文
摘要:
错误提示如下 解决方法 将编译输出目录添加到环境变量 编辑~/.bashrc,添加以下代码 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/qqs/桌面/klayout-0.28.5/build-klayout-Desktop_Qt_5_12_12_GCC 阅读全文
摘要:
前期准备 首先参考官方编译指南 https://www.klayout.de/build.html 本次搭建使用的软件版本分别为 VM 16.2.3 Ubuntu 22.04 QT 5.12.12 zilb 使用apt安装最新版 Ruby 使用apt安装最新版 Python 系统自带 C++相关 系 阅读全文
摘要:
前言 在使用TouchGFX制作时钟应用时,一般会使用handleTickEvent函数作为时基,其频率为60HZ,在仿真时运行正常,定时准确。但下载到MCU后,由于受到Freertos的调度,其实际频率只有50HZ左右,因此会导致时间不准确。 解决方案 开启一个定时器作为时钟的时基,1s中断一次, 阅读全文
摘要:
起因 项目中使用到一个开源的模拟IIC的库,封装的比较好,但是是使用c++写的。于是将其移植到自己的项目中,主要有以下三步操作: 在工程选项中 C/C++中去掉勾选 C99 Mode 在工程选项中 C/C++的Misc Controls 中添加 --cpp11 参数 在工程选项中 Target中去掉 阅读全文
摘要:
通用方法 cJSON_InitHooks() 函数 首先需要创建一个cJSON_Hooks结构体,然后在freertos开始调度前调用此函数即可。 static cJSON_Hooks m_iot_hooks; m_iot_hooks.malloc_fn = pvPortMalloc; m_iot_ 阅读全文
摘要:
编译官方板子的固件 克隆仓库到本地 git clone --recursive https://github.com/openmv/openmv.git Openmv项目中有很多子模块,务必加上recursive参数,这样才会一并把子模块下载下来。 安装Docker 过程不表,网上已有许多完善的教程 阅读全文