Forwarded from dnaugsuz
printf(EMPTY_CHARP); 的 x86 翻译结果是mov rdi, qword ptr [EMPTY_CHARP]
mov dword ptr [rbp - 4], eax # 4-byte Spill
mov al, 0
call printf
xor ecx, ecx
mov dword ptr [rbp - 8], eax # 4-byte Spill
上面一句 printf(""); 是movabs rdi, offset .L.str
mov al, 0
call printf
似乎和 printf(0); 是有区别的mov al, 0
call printfForwarded from Richard Yu
我说的是 GetModuleHandle 的情况啊,上面的情况是要传0进去。
Forwarded from dnaugsuz
😵 那我就完全糊涂了... 总之我上面的情况你支持吧?
之前的 GetModuleHandle 的处理,反正我不是 Win32 的程序员,算了吧
之前的 GetModuleHandle 的处理,反正我不是 Win32 的程序员,算了吧
Forwarded from dnaugsuz
也没有,你想想
上面那条
你用 x86 作为目标机器再编译一遍就会发现都是用机器栈传参数的
sizeof(char *) 是 4上面那条
call printf 指令是跳转子程序mov dword ptr [rbp - 4], eax
你知道这是赋值第二个参数(vararg)就可以了,前面 eax 的值肯定是 0 (xor eax, eax)mov rdi, qword ptr [EMPTY_CHARP]
使用 rdi 寄存器传递是因为这是 x86_64 (long mode 支持)你用 x86 作为目标机器再编译一遍就会发现都是用机器栈传参数的
Forwarded from dnaugsuz
我之前是说有人觉得
等等我理解你的意思了,原来
"" 不优雅的情况,就不用 nullptr 替换了....等等我理解你的意思了,原来
nullptr 的确和 "" 是不一样的... 但我之前没有说他们一样啊...Forwarded from dnaugsuz
GetModuleHandle 不是正常情况使用非 NULL char* 调用嘛
我之前一直是以这个前提发的消息,没有考虑输入 NULL 的情况
我之前一直是以这个前提发的消息,没有考虑输入 NULL 的情况
Forwarded from dnaugsuz
也就是说
NULL 和 "" 都支持?procedure GetModuleHandle(char *modname)
match args
[NULL] -> return GetModuleHandle("")
otherwise -> return RealGetModuleHandle(args)Forwarded from dnaugsuz
噢... 我之前以为 "" 就是你说的 NULL 自身特例
听起来也很符合直觉,不过可能 NULL 更好一些
听起来也很符合直觉,不过可能 NULL 更好一些
Forwarded from dnaugsuz
现在我发现其实之前一直都是我搞错了
Yuuta 贴了两块代码一个里面是
所以才有后来对此函数作用和
Yuuta 贴了两块代码一个里面是
GetModuleHandle("")
一个是GetModuleHandle(0)此时我就把他传 0 当成等价
((char *) "") 了...所以才有后来对此函数作用和
"" == 0 的争论Forwarded from dnaugsuz
说起来 Trumeet 真是幸福啊,虽然我快放寒假了,但是 Trumeet 是每次熬夜修仙,然后在我旷课闲逛的时候合理合法地写代码
Forwarded from dnaugsuz
哇 NoSQL 面向文档数据库
你现在是在建立数据格式示范?
消息类型、来源、发布用户、发布时间... 还有发送类型? 🤔
你现在是在建立数据格式示范?
消息类型、来源、发布用户、发布时间... 还有发送类型? 🤔
Forwarded from dnaugsuz
说起来这个统计之类的东西 @dsuse 频道以前也做过(开始码 TelegramScanner 的时候,这个玩意可以解析 Telegram Copy selected as text 输出的文本,然后转换成 XML)
现在把其中简单折线统计的部分打包放这里了
需要参考的话就到这里看用例吧,虽然是 Python 和 Ruby 的...
现在把其中简单折线统计的部分打包放这里了
需要参考的话就到这里看用例吧,虽然是 Python 和 Ruby 的...
Telegram
duangsuse::Echo
😃 那么,简而言之,我觉得有价值的信息:
def get_link(h); "https://t.iss.one/dsuse/#{h['debug']['no'] + 9511 + 20}"; end
+ 一共统计了 187 条消息。
2019-03-24 11:22 - 2019-04-05 20:06,一共两个星期的时间里,本频道 @dsuse
+ 有 #Telegram Hashtag 的消息,一共有 42 条,约有 20% 的消息被打上了标签
+ 含链接的消息,一共有 37 条,约有 19% 的消息被打上了标签…
def get_link(h); "https://t.iss.one/dsuse/#{h['debug']['no'] + 9511 + 20}"; end
+ 一共统计了 187 条消息。
2019-03-24 11:22 - 2019-04-05 20:06,一共两个星期的时间里,本频道 @dsuse
+ 有 #Telegram Hashtag 的消息,一共有 42 条,约有 20% 的消息被打上了标签
+ 含链接的消息,一共有 37 条,约有 19% 的消息被打上了标签…