- 博客(17)
- 收藏
- 关注
原创 ubuntu windows双系统踩坑
我有个台式机,先安装的ubuntu,本来想专门用来做开发,后面儿子长大了,给他看了一下星际争霸、魔兽争霸,立马就迷上了。还有一台windows的笔记本,想着可以和他联局域网一起玩,在ubuntu上用wine跑魔兽,联局域网老是掉线,没办法,就想着把ubuntu的root分区缩小个100G用来装windows,结果windows倒是装上了,ubuntu起不来了。然后就摸索了两天,各种搜索、deepseek求助,总算是解决问题了,还是有挺多坑的,这里记录一下。,导致重启后直接进入了grub,没有引导起来。
2025-02-24 23:00:36
282
原创 Chromium渲染框架总结
渲染优化chromium为了优化渲染效率做了很多优化,这些不仅可以用在web渲染,也可以用于一些native图像界面的渲染;这些优化包括: 分成paint和compositing paint分为recording和光栅化 跨线程渲染,避免和网络请求影响帧率,同时paint和光栅化可以并行,充分利用了CPU多核特性 Tiling 跨进程渲染,提高稳定...
2020-03-01 01:18:44
1282
原创 C++总结
C陷阱和缺陷1.赋值符优先级比逻辑比较低,赋值表达式的结果为赋值后的结果2.编译器扫描符号使用贪心法,尽量选择最长字符的符号串,如a---理解为a -- -而不是a - --3.为兼容老版本编译器,不同符号之间最好加空格,如a=-1可能理解为a =- 1,应该改为a = -14.老版本编译器,8进制数以0开始,后面可以加超过8的数字,新版本会在编译时提示出错5.单引号中放多个字...
2020-02-13 00:52:48
178
原创 如何获取虚表指针
32位机器,虚表指针在对象开始位置的情况下:int* p = (int*)this;int f = *p; void* pf ...
2020-02-13 00:51:08
449
原创 为什么printf只能用_cdecl调用约定
1. 什么是调用约定?调用约定(Calling conventions)和type representations, 名称修饰(name mangling)同是应用二进制接口(application binary interface ,ABI)概念,理解为C++或其它语言需要遵守的转换为汇编语句的一套规则。调用约定规定函数参数入栈顺序,和栈清理方式。2. 调用约定分类?cdecl...
2020-02-13 00:49:59
541
原创 老罗Android之旅笔记-SurfaceFlinger
老罗的博客SurfaceFlinger, WindowManagerService,硬件渲染等等几块实在是太长了,而且偏重研究代码,原理性的总结都是在这些代码中间,文章一长很难串起来,导致文章读起来实在晦涩;长点的文章读了几遍几遍,读着读着就神游了;后来想着用uml工具,记录一下总体的类调用关系,读起来就顺畅一些,这里先贴一张SurfaceFlinger类图:...
2020-02-13 00:44:30
561
原创 css line-height总结
line-height定义http://www.w3school.com.cn/cssref/pr_dim_line-height.asp前端大牛的解释https://www.cnblogs.com/qiangspecial/p/4126842.html这里有两点注意:1. "原始数字值指定了一个缩放因子,后代元素会继承这个缩放因子而不是计算值"line-height是可...
2019-02-15 10:24:57
192
原创 结构体内存对齐
为什么要内存对齐?1、某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2、性能原因,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。对齐规则? 每个特定平台上的编译器都有自己的默认“对齐系数”(GCC默认为4, GCC 64位机器默认为8)。 基本规则: 1、数据成员对齐规则:结构(struct)(或联合(union))的数据成...
2018-02-09 12:05:16
193
转载 多线程写文件是否提高效率?
You can use multiple threads writing a to a file e.g. a log file. but you have to co-ordinate your threads as @Thilo points out. Either you need to ...
2018-02-09 12:04:04
1668
原创 HP Pavilion X360 11-U054TU降级安装Win7总结
首先理解几个概念:BIOS(Basic Input Output System)一种业界标准的固件接口一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息为计算机提供最底层的、最直接的硬件设置和控制传统式(Legacy)BIOS
2017-10-27 16:37:06
3009
原创 新手易犯的错误:C++类指针成员初始化
还记得工作两年多跳槽到北京某浏览器公司,从后端j2ee改行做了c++,虽然以前学过,但是实践做起项目来,实在是艰难,尤其是整个webkit项目非常庞大,一时间手足无措。那时候遇到了很多莫名其妙的问题,记忆犹新的就是这个类指针成员初始化的问题。简单的描述就是:类的简单变量成员并不会自己初始化为0,所以一般需要在构造函数列表中显示初始化为0,如果不这么做,而在其它地方又做了非0判断,或直接
2017-09-19 19:57:54
6202
1
原创 Android N限制共享库为PIC
最近有位同事遇到个问题,他们的模块提供给产品的共享库是带有.text.rel段的,而android N的linker限制共享库不能有TEXTREL,导致加载失败。 首先,该模块有大量的汇编代码,即使有编译开关-fPIC,生成的so仍然带有TEXTREL。 其次,linker对so的这个限制只针对API level大于22,本来只需要修改AndroidManifest.xml中的
2017-06-28 10:39:50
563
原创 C++如何获取类成员的偏移
如何获取类成员变量的移植,网上有个方法:struct A { int i;};&((A*)0)->i; 原理如下:&((A*)0)的地址是0,所以&((A*)0)->i的地址为&((A*)0)->i减去0,即成员变量的地址。之所以可以这样,是因为没有内存的分配读写,这段代码的计算在编译时就完成,只要编译不出错就可以。最近查看Android的art ru
2016-12-28 14:50:39
844
原创 尝试规避"FORTIFY_SOURCE: FD_SET: file descriptor >= FD_SETSIZE"
Android 5.0及以上,select调用会检查fd大小,是否超过1024,如果超过就会提示:FORTIFY_SOURCE: FD_SET: file descriptor >= FD_SETSIZE. Calling abort().然后崩溃,检查的代码在:/bionic/libc/bionic/__FD_chk.cppextern "C" int __FD_IS
2016-12-08 10:35:40
8332
3
原创 Linux信号机制总结
首先阅读《Unix环境高级编译》信号一章,大概了解信号相关概念。工作中遇到的问题,需要特别归纳一下: 1. sigac每个线程都有自己的信号屏蔽字,但是信号的处理是进程中所有的线程共享的
2016-10-28 10:21:36
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅