小编Cco*_*ock的帖子

C结构语法

C头样本.

typedef LPVOID UKWD_USB_DEVICE;

typedef struct _UKWD_USB_DEVICE_INFO {
    DWORD dwCount;
    unsigned char Bus;
    unsigned char Address;
    unsigned long SessionId;
    USB_DEVICE_DESCRIPTOR Descriptor;
} UKWD_USB_DEVICE_INFO, *PUKWD_USB_DEVICE_INFO, * LPUKWD_USB_DEVICE_INFO;
Run Code Online (Sandbox Code Playgroud)

我的理解

struct定义一个结构({}之间的部分).结构的类型是_UKWD_USB_DEVICE_INFO.结束后} UKWD_USB_DEVICE_INFO此结构的别名.

之后声明的目的是什么?* PUKD_USB_DEVICE_INFO*LPUKWD_USB_DEVICE_INFO.如果一个触摸变量而另一个在字体之间有空格,那么这些指针别名是否意味着不同的东西*

c syntax

5
推荐指数
1
解决办法
155
查看次数

跨Linux,Windows运行程序集

我一直在阅读大会.根据我对编程语言的理解,似乎编译器(汇编程序......我知道在其他地方争论的两者之间存在微妙的差异),产生目标代码.一种不友好的机器语言没有指令.该目标代码由处理器解释,之后链接器使其成为可执行文件.我知道必须在正确的装配中说出每个处理器.IE浏览器..386,.486,.586令我困惑的是通过MASM运行DOS程序和通过Linux运行相同程序而没有NASM或GAS之间的差异.如果将源代码编译成目标代码,那么它是不是跨平台?我可以像在Linux上一样轻松地从我的戴尔启动Windows.我在这里错过了什么?

此外,我一直在寻找一种查看目标代码的方法,这样我就不必通过Immunity Debugger来破译执行.只是我编写的源代码的指令机器代码指令.有没有办法在Linux中产生类似objdump的结果?

linux windows assembly masm

2
推荐指数
1
解决办法
1080
查看次数

标签 统计

assembly ×1

c ×1

linux ×1

masm ×1

syntax ×1

windows ×1