首页   注册   登录

Akiyu

V2EX 第 288231 号会员,加入于 2018-01-31 08:28:50 +08:00
今日活跃度排名 7937
Akiyu 最近回复了
5 天前
回复了 boliguner 创建的主题 游戏 请大家安利游戏!一个人也很好玩的那种
一个人很好玩的没有
一个人能玩自闭的倒有一大堆
@0x558
如果没有做好充足的准备, 不建议老哥去学安全
这个游戏不像其他游戏上手那么快, 需要学
但是对于已经工作了的人来说, 时间成本太高了
6 天前
回复了 LiPing 创建的主题 生活 看不下去了…
劝说大哥 /自己去炒 ×
v2 发帖 √
18 天前
回复了 mogami95 创建的主题 职场话题 这涨薪幅度就是在赶人走
Linux C++ 后台方面
请问 LZ 有没有什么推荐学习的东西
框架, 技术... 都可以
作为一个自闭患者, 我倒是挺喜欢笔试的
很多东西会直接在代码中体现, 笔试是一个测试水平的手段

但是我能理解为什么讨厌笔试
有一次去面试, HR 以我没带纸质简历为由要求我重新写一次简历
(问题在于 app 沟通的时候我已经把简历发给他了, 难道公司打印个简历的钱都不愿意出?)
(你知道, 重写简历这种东西很烦人了, 而且给了一张布局都是歪的的劣质纸给我)
(上面还要写民族和性别, 当时我感受到了侮辱, 所以随便写了写交上去了)
然后技术那边来了, 说简历都不认真写的人, 也没必要面试了, 我也懒得说什么就走了

笔试就类似于这种情况, 我简历写了我会什么, 我甚至可能附带了 github 地址
凭什么我还要来做次题? 这种事情事先不说清楚, 等我花了时间和精力到了公司你才说?

面试是彼此交流, 对等的情况, 而笔试呢?
笔试完你可能直接一句不合适就要我走, 我花了几十分钟时间写, 你几分钟打发我?
@RoyL
我居然觉得很有道理...

总之从明天开始撸铁吧, 争取 1 年内把 4 年份的撸了
我试了一下汇编, 看了看结果
这是测试用的 c++ 代码:
--------------------
int i = 1, i2 = 10;
printf("%d\n", i & i2);
printf("%d\n", i && i2);
--------------------
编译选项为 g++ -std=c++0x -S t.cpp, 编译器版本 4.4.7

以下是汇编代码
--------------------
subq $16, %rsp
movl $1, -8(%rbp)
movl $10, -4(%rbp)
movl -4(%rbp), %eax
movl -8(%rbp), %edx
andl %edx, %eax
movl %eax, %esi
movl $.LC0, %edi
movl $0, %eax
call printf
cmpl $0, -8(%rbp)
je .L2
cmpl $0, -4(%rbp)
je .L2
movl $1, %eax
jmp .L3
.L2:
movl $0, %eax
.L3:
movzbl %al, %eax
movl %eax, %esi
movl $.LC0, %edi
movl $0, %eax
call printf
movl $0, %eax
leave
--------------------
&& 是将 i 和 i2 都与 0 做对比,
一旦结果相同(je), 直接跳转 .L2 赋值为 0, 否则默认赋值为 1, 然后跳转 .L3
所以你这样认为, && 只是语言对汇编做的封装, 对于编译器来说, 没有这个操作
(当然, 这个例子不怎么好, dalao 轻点喷我)
默认 and, or 操作是位运算而并非逻辑
我觉得应该是和 je 这种条件整合到了一起
(毕竟你拿到 bool 值不也是要作为条件来跳转的嘛, (大多数情况下))

而且位运算结果可以转化为 bool, 但是 bool 值不一定能转化为位运算的值
还有就是像 #17 说的那样
从汇编角度来看, && 应该是高层的抽象, 不应该由汇编来实现, 毕竟底层只有二进制
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2684 人在线   最高记录 4346   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 10ms · UTC 11:49 · PVG 19:49 · LAX 03:49 · JFK 06:49
♥ Do have faith in what you're doing.
沪ICP备16043287号-1