使用 Woboq CodeBrowser 搭建源代码网站

背景

在日常学习工作中,我们不免需要浏览一些库的源码。在本地浏览源代码,例如使用Source Insight,当然是可以的,但问题是一是不方便,二是很多库下载下来是以头文件配合静态库或动态库的形式存在的,看不到cpp代码,因此阅读会受限。现在Web技术高速发展,有没有办法用网页直接查看源代码,并且还有类似于Code的代码跳转功能呢?换句话说,如何把C/C++代码转化为前端页面,并且最好是静态的前端页面,就是一个难题了。

幸运的是,github上有人提前考虑到了这件事情,并且有了具体的项目,已经有1k多的star。并且原作者还基于这个框架弄出了一个在线的源代码网站,方便开发者查看各个C/C++库的源代码,例如QtGCCLinux KernelGNU C Library等。

Read More

Qt Graphics View Framework 预研

该架构涉及到的最主要的三个类是QGraphicsSceneQGraphicsViewQGraphicsItem

整体流程

  1. 绘制流程(QGraphicsItem->QGraphicsScene->QGraphicsView

    QGraphicsItem当中保存了自身的“场景坐标”供QGraphicsScene进行管理。在绘制时,由QGraphicsView对象调用渲染方法,根据自身所设置的可视化相关属性,基于“视图坐标”确定将要绘制的QGraphicsScene当中有哪一部分“场景坐标”内的图元需要渲染,随后通过QGraphicsScene提供的方法,将属于这部分“场景坐标”内的图元(也就是QGraphicsItem)全部找出,并渲染这些图元到可视化viewport中。

Read More

在 X11 下使用 cairo 引擎绘制图形

cairo是一个方便和高性能的第三方C库。它可以作为绘制引擎,帮助我们绘制各种图形,并且提供多种输出方式。本文将在Linux下结合X11图形显示协议绘制简单的图形。

这是效果图:

59cb53826fcba1602fd3769171f5f127
Read More

C++ Primer

第一章 开始

编写一个简单的C++程序

1
2
3
4
int main()
{
return 0;
}

每个C++程序都包含一个或多个函数,其中一个必须命名为main.

Read More

C++ 20 高级编程

第一章 C++和标准库速成

C++速成

小程序”Hello World”

主要是接触引入模块的概念,程序如下:

1
2
3
4
5
6
7
8
9
// hello.cpp
import <iostream>; // 引入模块,目前的gcc不支持
// #include <iostream>

int main() {
std::cout << "hello world" << std::endl;

return 0;
}
Read More
Search by:BingBaidu