小编Jad*_*den的帖子

该C代码的哪一部分缺失或需要更改?

对于我的任务,我必须填写下面C代码的缺失部分.但是,我不确定哪些部分缺失或者我必须填写哪部分.我有一个示例汇编代码,此代码将生成,但不知道我必须更改哪些部分才能获得我的预期结果.我只是想澄清一下.

typedef enum {MODE_A, MODE_B, MODE_C, MODE_D, MODE_E} mode_t;
long switch3 (long *p1, long *p2, mode_t action) {
  long result = 0;
  switch(action){
  case MODE_A:
  case MODE_B:
  case MODE_C:
  case MODE_D:
  case MODE_E:
  default;
  }
  return result;
}
Run Code Online (Sandbox Code Playgroud)

其他要点:

  • 可能存在应该在C代码中写入带有漏洞的情况
  • 代码显示了switch语句中枚举类型值的分支.(问:这究竟是什么意思?我的教授提供了一个我不理解的复杂定义.)

汇编代码结果示例:

# p1 in %rdi, p2 in %rsi, action in %edx
.L2:                         # MODE_E
      movl    $27, %eax
      ret
.L7:                         # MODE_A
      movl    (%rsi), %rax
      movq    (%rdi), %rdx
      movq     %rdx, (%rsi)
      ret
.L5:                         # MODE_B
      movq     (%rdi), %rax
      addq     (%rsi), …
Run Code Online (Sandbox Code Playgroud)

c assembly switch-statement

8
推荐指数
2
解决办法
730
查看次数

如何从C源和asm输出反向设计结构细节?

我试图理解这个问题的解决方案:

鉴于下面的C代码,以及编译器的asm输出,是什么AB

答案:A是5,B是6.

我猜测必须进行某种划分,因为96和48都可以被6整除,20可以被5整除.

编辑:我在网上找到了答案.但是我不确定它是否准确
"一个字母从任何BYTE开始

短路仅在偶数字节处开始

一个int从BYTE开始,但可被4整除

很快就开始了BYTE,可以被8整除

str1.w很长,从5到8开始

str1.x可能有184或180

str2.p是int从值8开始,因此str1.array保持5到8个BYTES

str2.q短期可能是14到20

str2.z可能是32

char w [A] [B]和int X.

8 184

STR2.

short [B] int p doublez [B] short q

20 4 8 9

因此A = 5和B = 6"的值

代码如下:

// #define A  ??   // 5
// #define B  ??   // 6, but the question is how to figure that out from the asm
typedef struct {
    char w[A][B];
    int …
Run Code Online (Sandbox Code Playgroud)

c linux assembly gcc

3
推荐指数
1
解决办法
307
查看次数

如何在 pyqtgraph 中正确缩放/旋转图像?

我已经在PyQt5pyqtgraph里面实现了QGraphicsView。当我按以下方式显示图像时,它会以与屏幕相同的宽高比拉伸和扩展。我该如何解决?

image = pg.ImageItem(asarray(Image.open('pic.png')) )      
self.graphicsView.addItem(image)
image.rotate(270) 
Run Code Online (Sandbox Code Playgroud)

编辑:找到了如何旋转图像,所以我用解决方案更新了问题。现在我只是想适当地缩放它。

python qgraphicsview pyqtgraph pyqt5

3
推荐指数
1
解决办法
5466
查看次数

标签 统计

assembly ×2

c ×2

gcc ×1

linux ×1

pyqt5 ×1

pyqtgraph ×1

python ×1

qgraphicsview ×1

switch-statement ×1