分类 编程学习 下的文章

D语言vscode开发环境配置简明教程

简介

D语言发展了十多年,一直不愠不火。现在 go 和 rust 都火起来了, D还是那个样子,现有的第三方开发库少,很多第三方库年久失修,IDE插件也不是很好用,容易崩溃,总之存在了很多不完善的地方。不过D语言自身也有很多吸引人的特性,对于我本人来说,作为一个和c/c++一样类型的语言,却能写出脚本语言的轻松,而且性能强劲,是很有吸引力的。时隔多年,我又忍不住下载了一下D语言最新安装包,准备尝试一下,先后尝试了 vs+visual-d 和 vscode+code-d 两种方案,感觉 vscode 这个方案要更加好用点。由于资料少,这里记录一下,方便后来人。

阅读剩余部分 –

Qt跨平台编程之中文编码问题

前言

在使用 Qt5 进行开发的过程中遇到了一些跨平台的中文编码转换问题,然后进行了一番调查,这里做个总结,希望能帮上他人

字符编码

首先我们认识一下 UNICODE, UNICODE 是由微软等多个知名公司发布的一种字符集标准,具体编码实现有 UTF-8, UTF-16 和 UTF-32 这三种编码格式。而GBK字符编码属于另一套字符集,类似的还有Big5字符集。

然后介绍一下 UCS ,UCS 是 ISO 组织发布的一种类似 UNICODE 的字符集标准,后来两者开始合流,编码基本一致。这里需要知道的是 UCS-2 和 UTF-16 之间的关系,UCS-2 规范相当于 UTF-16 规范的 子集,因为 UTF-16 有扩展字符为变长,而 UCS-2 是固定两个字节

阅读剩余部分 –

搭建windows平台GTK+-3.0开发环境

前言

最近在了解GTK+-3.0界面开发相关,由于自身用的系统环境是windows,开个linux虚拟机来开发的话总归是麻烦了点,于是开始寻找 windows上快捷搭建 GTK+-3.0 编译环境的方法,在经过尝试后,大概有三种办法,下面会对这些方法进行详细介绍。

阅读剩余部分 –

ubuntu下对Qt工程进行deb打包发布

前言

最近研究ubuntu上的Qt打包遇到了很多问题,虽然有个LinuxDeployQt,但是这货有个很大的缺点,那就是它打包的程序在运行的时候会把自己释放到一个临时目录运行,这样就导致了我们的程序设置当前运行目录有误,导致相对路径之类的东西全部扑街。所以我们需要一个新的办法。在调查了一段时间后,最终找到解决方案,并学会了deb安装包的制作

阅读剩余部分 –

程序员必备工具之MSYS2

简介

msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。
类似的跨平台编译套件有:msyscygwinmingw

阅读剩余部分 –

linux共享内存的使用

linux共享内存和windows的共享内存逻辑上有很大区别,要注意一下几点

1. shmget的第三个参数标识

标识 描述
IPC_EXCL 这个加入后,如果已经存在标识为key的共享内存则报错返回-1
0 如果是0 的话,就可以实现,如果共享内存不存在则返回失败-1,否则直接创建返回成功
0666 这个标识符很多人不知道啥意思,其实试试就知道了,它可以让你在普通用户下创建访问共享内存,如果没有这个标识,共享内存的创建和访问都必须在root用户下进行,参考《unix环境高级编程第二版》,里面有 #define SHM_MODE 0600 /* user read/write */

阅读剩余部分 –

EasyGo插件开发指南python篇

简介

EasyGo借鉴了wox的插件架构,尤其是python插件,几乎差不多,所以如果你开发过wox的python插件,那么可以很容易的将它移植到EasyGo上面来。一个python插件是由三部分组成,py源文件,plugin.json配置文件和应用图片。

架构

插件的整体架构如图

阅读剩余部分 –

EasyGo插件开发指南c++篇

简介

EasyGo借鉴了wox的插件架构,尤其是python插件,几乎差不多,所以如果你开发过wox的python插件,那么可以很容易的将它移植到EasyGo上面来

架构

插件的整体架构如图

阅读剩余部分 –

驱动读写超时处理

关于驱动读写异步超时的处理,网络上的资料相对稀少,正好最近在工作上遇到了这个问题,所以就研究了一下,发现还是有些门道的。如果完全按照应用层读写超时的处理逻辑来处理驱动层的话就会出现蓝屏等问题

只要涉及到读写超时,那么我们第一印象肯定会想到事件和事件等待相关操作与函数的调用,那么我们来看一下驱动的几个文件操作函数声明:

阅读剩余部分 –

USB Development Kit (UsbDk) Design and Architecture 中文版

这是我对UsbDk官方文档的翻译,希望对大家有帮助,有错误之处还请谅解.

UsbDk开发套件是由一套软件工具和模块组成,它把USB设备从PNP管理器和设备驱动分离,并提供了一系列API供用户层程序直接独占的访问USB设备,进行USB设备相关操作。
UsbDk一开始是用来为spice远程桌面程序提供USB重定向的支持,然而它可以被用来做很多其他相关事情,通过UsbDk自带的库或者通过libusb(我们为libusb做了backend支持)

阅读剩余部分 –

分类

标签云

Anything in here will be replaced on browsers that support the canvas element

统计

  • 2
  • 111
  • 180,724
  • 59