V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  codehz  ›  全部回复第 107 页 / 共 156 页
回复总数  3111
1 ... 103  104  105  106  107  108  109  110  111  112 ... 156  
2020 年 10 月 26 日
回复了 rainboat 创建的主题 C++ 被 C++的语法问题折磨了,有没有大佬帮我解答一下疑惑
@QBugHunter #27 有意义啊,就像函数指针有啥意义,为啥不用函数一样,通过指针可以实现间接访问,而计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决(
总所周知,c++暂时还没有编译期反射这种东西,没法按照名字来访问未知类型的成员,但是有了这个机制,你至少可以让用户传入成员的指针,然后在模板函数中实现对成员的操作。。。
这种事在 c 的世界也不是没有,那时候通常都是用偏移量( offsetof ),显然直接的偏移量在 c++的世界有诸多水土不和的问题(例如多继承的问题和类型安全的问题),自然要设计一个适合于 c++的"偏移量"解决方案。。。
2020 年 10 月 26 日
回复了 rainboat 创建的主题 C++ 被 C++的语法问题折磨了,有没有大佬帮我解答一下疑惑
@Akiyu 别啥都以汇编为导向,c++这玩意实现定义的东西很多,如果按某个特定实现来学,很容易写出不可移植的东西出来(甚至有些编译器升级也会打破原有的假设)
打印为 1 的原因就是
1.编译器没有找到合适的 operator<<重载
2.然后发现存在一条隐式转换规则(空成员指针值变为 false ;所有其他值变为 true )
3.接着发现它不是空成员指针,就转换成 true
(注意,这里不是表示实现定义的值不为 0,实际上如果按照偏移量方式实现,那平凡结构体的首个元素就应该是 0,但是它不是空成员指针,所以仍然是 true)
4.标准约定默认布尔类型输出规则是 true -> 1 false -> 0,所以这里输出 1
不是退回,而是需要使用 prebuilt 的工具链,需要适配构建目标的内核版本。。。
当然这种问题主要是在单独编译内核的时候才出现的,如果是从安卓源码树(或者 lineageos 的完整源码 repo )下进行构建,就会把相关编译器准备好的
2020 年 10 月 26 日
回复了 rainboat 创建的主题 C++ 被 C++的语法问题折磨了,有没有大佬帮我解答一下疑惑
@elfive 当然有,甚至很多属于非开源的代码库。。。
举个例子,根据逆向工程结果(实际上是符号表里直接看到的),mc 基岩版在处理指令注册的时候使用这个方法把类中的成员注册成指令的参数,这样,指令解析程序就可以在解析指令文本的时候把参数填入那个类了,不使用这个方法,你就需要写一大堆包装函数(虽然实质上确实用模板生成了他们)
一般来说是编译器版本太新了,有很多新的警告,配合 Werror 不就 boom 了吗
2020 年 10 月 25 日
回复了 rainboat 创建的主题 C++ 被 C++的语法问题折磨了,有没有大佬帮我解答一下疑惑
@GeruzoniAnsasu 不一定是偏移量,具体值是实现定义
考虑一下虚继承,其中任意子类拿出来都要可以->*方式访问
2020 年 10 月 25 日
回复了 rainboat 创建的主题 C++ 被 C++的语法问题折磨了,有没有大佬帮我解答一下疑惑
百度和谷歌有合作,共享大数据(狗头
你可以在圆括号里换行的啊(
2020 年 10 月 23 日
回复了 VioletTec 创建的主题 分享发现 [吐槽] Windows 中 net 命令的迷惑行为??
(其实是帮助信息就是这一段。。。。
没有更详细的而已
2020 年 10 月 22 日
回复了 portus 创建的主题 问与答 [求助] 电脑拷贝文件时间约 10 分钟系统失去响应
你电源功率不够
2020 年 10 月 21 日
回复了 Djangoogle 创建的主题 Android Android app(Service)如何在后台随时随地弹出/关闭悬浮窗?
SYSTEM_ALERT_WINDOW 权限给了吗,定制设备的话,放 vendor 里是直接默认授权的(但是也得在清单里写
2020 年 10 月 21 日
回复了 QBugHunter 创建的主题 C++ C++有没有类似 Java 的 final class
有,只不过 final 关键字要加在类名的后面(
https://en.cppreference.com/w/cpp/language/final
2020 年 10 月 20 日
回复了 ex1gtnim7d 创建的主题 Android 为什么安卓源码经常用反射不用 new?
因为 clazz 是运行期传入的。。。
2020 年 10 月 20 日
回复了 noble4cc 创建的主题 程序员 redis 大 key 导致读取和删除性能降低的原因是什么呢?
(你是不是没考虑到网络传输
有没有可能是网络问题(
(建议先离线账号进入然后再转在线。。。。
2020 年 10 月 17 日
回复了 zengming00 创建的主题 问与答 在 arm cpu 中如何做到访问一个无效地址时程序不崩溃
哈,你怎么知道指向的是有效地址,但是并不符合预期的呢
2020 年 10 月 16 日
回复了 rikka 创建的主题 问与答 如何在完全不写硬盘的情况下播放一个远程视频?
你把浏览器缓存放 ramdisk 里就好
2020 年 10 月 14 日
回复了 codehz 创建的主题 分享创造 一个新的玩具,在 js 里套娃 c 编译器
@sologgfun #6 不是 node,用 quickjs 做的一个很小的 js 运行时,压缩后<4MB,node 请直接用 node-ffi (
@gxgxxn #2 上面说的方法都是可以被采集卡录制的。。但是也不是没有阻止一般采集卡的 DRM 保护方案,这个我了解不多。
1 ... 103  104  105  106  107  108  109  110  111  112 ... 156  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2493 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 16:08 · PVG 00:08 · LAX 09:08 · JFK 12:08
♥ Do have faith in what you're doing.