windows 下安装 gtk
按照官方网站说明,有两种方法再windows安装GTK。
MSYS2。MSYS2为windows提供了类似UNIX的开发环境。
gvsbuild。此方法基于gvsbuild库,该库提供了生成GTK技术栈的的脚本,可输出由Visio Studio和Meson项目使用的库和工具。
本文主要介绍gvsbuild方法。
安装说明
由于国内网络问题,按照gvsbuild中提供的安装说明需要依赖Choco包管理器,但在实际操作中将遇到各种网络问题。所以我才用纯粹手动安装所需库。
安装Git
访问Git官网,下载最新版本并安装即可。
安装MSYS2
访问MSYS2官网,下载最新版本并安装即可。
安装Visual Studio 2022
...
C++ error C2040 间接寻址级别不同
编译时可能会遇到如下信息:
# [C++]error C2040: 间接寻址级别不同
该问题看起来比较奇怪,实际上是因为auto&变量重定义导致的。
执行下面的代码:
int main()
{
int a = 1;
int b = 1;
auto& b = a;
}
可以获得提示信息:error C2040: “b”:“auto &”与“int”的间接寻址级别不同
该描述翻译过来就是:auto&定义的变量b,和前面定义过的变量b类型不同。
Jekyll移植到gitee
本文正在修改中…
由于之前工作比较忙,且旧的网站服务器总是出问题,索性直接关掉了。为了减少没必要的维护工作,现在开始着手使用Jeckll重新搭建网站。
与WordPress相比,Jeckll结构简单,便于维护。仅需克隆原始项目、简单配置即可。
github.io
最开始是在github上搭建的,几乎没有遇到什么问题
github.io站的库名必须为用户名.github.io
github.io站,可以在库设置中的pages页面查看相关设置。
gitee.io
移植到gitee遇到几个问题
gitee的库默认为私有的,需要手动设置为开源。
gitee.io站的库名,必须为用户名
...
pagefiles.sys所在盘缓慢导致系统卡顿
pagefiles.sys为虚拟内存的分页文件。
由于内存中的空余空间可能不是连续的,所以为了保证有连续可用的足够大的内存空间,系统会通过该文件进行数据交换。此外由于部分应用程序会使用到虚拟内存,所以不建议直接关闭。
那么在pagefiles.sys文件所在盘的速度及工作状况将会影响系统在交换内存是的速度,也是磁盘缓慢导致系统卡顿的主要原因。
如果发现在非系统盘有繁重工作时,出现系统卡顿,那通常是由于pagefiles.sys文件在那个盘导致的。可以通过修改虚拟内存 设置,解决卡顿问题。
虚拟内存设置
磁盘队列长度
磁盘队列长度是指磁盘读写任务的工作状况,长度可参考下表:
平均长度
说明
...
Visual Studio C++ 内存对齐问题
使用VS C++ 默认项目模板生成的项目,通常包含Rlease/Debug两种配置。在默认设置下的两种配置编译出的Dll库的数据对齐方式不一样,可能接口在传递字符串、类时发生各种内存错误。
解决方法
那么如何在Debug下与Release下使用相同的内存对齐方式?最简单的解决方案如下:
打开项目设置。
C/C++ > 预处理器 > 预处理定义,去掉_Debug宏。
C/C++ > 代码生成 > 运行库,选择 多线程DLL(/MD)。
内存未对齐的常见错误表现
传递字符串数据时,直接出现内存错误。
传递数据结构或类时,出现数据变化。
ObjectARX开发问题汇总
奇怪问题
COPY命令
copy命令的实现,看起来是依赖实体的deepclone 接口,但是与开发者直接deepClone又有所区别。在copy命令调用过程中,deepclone函数内向块表添加克隆后的的对象后,deepclone结束后无法子实体以及目标块表是无法正确触发反应器的(大概还有很多类型的反应器也都无法触发)。
可在命令反应器,命令结束时,重新处理子实体与父实体关系。
AcDbText::adjustAlignment执行缓慢
如果AcDbText使用的字体无效,则会导致该接口执行缓慢。
已知受影响的还有getGeomExtents接口。
猜测还有其他接口会受影响,待验证。
该问题在AutoCAD2022之前版本均存在。
学习 The-Forge 笔记
独立程序
创建独立程序需要执行以下步骤:
从IApp接口类派生自定义应用类。IApp类定义了程序主入口、创建窗体、初始化绘制信息、更新信息、退出等接口。
使用DEFINE_APPLICATION_MAIN宏注册自定义应用类。
#define DEFINE_APPLICATION_MAIN(appClass) \
int IApp::argc; \
const char** IApp::argv; \
e...
共计 33 篇文章,5 页。