小编Inv*_*ion的帖子

在计算像"$ - label"这样的字符串长度时,美元符号($)在x86汇编中的含义是什么?

例如,如果我们编写一个简单的hello world类型程序,.data部分可能包含以下内容:

section .data

msg     db      'Enter something: '
len     equ     $ - msg
Run Code Online (Sandbox Code Playgroud)

这个例子中的$代表什么,为什么$ - msg等于字符串的长度?

x86 assembly intel-syntax

32
推荐指数
4
解决办法
4万
查看次数

x86 Assembly和yasm中immediates(方括号)的基本用法

假设我声明了以下内容:

section .bss
buffer    resb     1
Run Code Online (Sandbox Code Playgroud)

这些说明如下:

mov    al, 5                    ; mov-immediate
mov    [buffer], al             ; store
mov    bl, [buffer]             ; load
mov    cl, buffer               ; mov-immediate?
Run Code Online (Sandbox Code Playgroud)

我是否理解bl将包含值5,并且cl将包含变量的内存地址section .text

我对两者之间的差异感到困惑

  • 立即进入登记册,
  • 将寄存器移动到立即(进入的是什么,数据或地址?)和
  • 在没有括号的情况下立即移动到寄存器中
    • 例如,buffervsmov cl, buffer

更新:阅读回复后,我认为以下摘要是准确的:

假设声明mov cl, [buffer]存在于mov edi, array.我的理解是:

  • edi将第0个数组索引的内存地址放入mov byte [edi], 3.
  • add edi, 3 将VALUE 3放入数组的第0个索引中
  • 之后edi,mov al, [array]现在包含数组第3个索引的内存地址
  • al将DATA置于第零个索引中mov al, [array+3].
  • al将DATA放在第三个索引处mov [al], …

x86 assembly nasm memory-address yasm

28
推荐指数
3
解决办法
2万
查看次数

IntelliJ建议用for循环替换while循环.为什么?

    ArrayList<Object> list = new ArrayList<Object>();
    list.add(12);
    list.add("Hello");
    list.add(true);
    list.add('c');

    Iterator iterator = list.iterator();
    while(iterator.hasNext())
    {
        System.out.println(iterator.next().toString());
    }
Run Code Online (Sandbox Code Playgroud)

当我在IntelliJ IDEA中输入这个Java代码时,代码分析功能建议我用for循环替换while循环,因为我正在迭代一个集合.为什么是这样?

java foreach loops intellij-idea while-loop

23
推荐指数
3
解决办法
8543
查看次数

如何使IntelliJ IDEA的自动弹出文档每次都出现?

在IntelliJ IDEA中,如果键入变量然后点击句点".".按钮,您将获得可供选择的成员列表.如果按Ctrl + Space,则会出现一个文档窗口,其中包含每个成员的进一步说明.

作为一个学习者,我想每次都自动弹出这个扩展文档.例如,如果我用Java编程并输入:

System.
Run Code Online (Sandbox Code Playgroud)

我希望每次选择成员时都会弹出文档窗口,而不必按Ctrl + Space.如果您已经使用Visual Studio在C#中编程,我想你会明白我的意思.

进入文件 - >设置 - >编辑器 - >代码完成并更改autopopup文档计时器没有帮助.

在我看来,Visual Studio 2010非常好地实现了intellisense.

java autocomplete intellij-idea code-completion

15
推荐指数
1
解决办法
9422
查看次数

通过引用另一个表来更新表

我有一个表CustPurchase(名称,购买)和另一个表CustID(ID,名称).

我把CustPurchase表改成了一个id字段.现在,我想通过引用CustID表中的客户ID来填充这个新创建的字段,使用:

UPDATE CustPurchase
   SET CustPurchase.id = CustID.id 
 WHERE CustPurchase.name = CustID.name;
Run Code Online (Sandbox Code Playgroud)

我不断收到语法错误!

sql postgresql

8
推荐指数
1
解决办法
1万
查看次数

在Xcode 4.2.1项目中包含标题

我正在尝试使用库,特别是Xcode 4.2.1中的SOIL(简单OpenGL图像库).在Build Phases - > Link Library with Libraries下我添加了SOIL zip存档附带的所有.h和.c文件.

当我构建项目时,我为每个.h和.c文件添加以下错误消息:

警告:跳过文件'/ Users/saw/XcodeProjects/Assignment01 copy/Assignment01/image_DXT.c'(框架和库构建阶段中的意外文件类型'sourcecode.cc')

和链接器错误:

"_SOIL_load_OGL_texture",引自:main.o中的Init()未找到架构x86_64的符号Clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

opengl xcode soil

7
推荐指数
1
解决办法
1404
查看次数

SQL查询根据另一列中的最大值更新记录

问题

我有这张桌子。(您也可以在DBFiddle中查看它。)

ID 版本 编号。 笔记
1 无效的 31
2 1 31 可口
3 2 31 有点好吃
4 无效的 32
5 1 32
6 2 32 好吧
7 3 32 极好
8 无效的 33 矛盾的
9 1 33 总的
10 2 33 呕吐

第一列是主键。第二列和第三列是整数。第 4 列是 VARCHAR。

对于每个版本为NULL 的唯一项目编号,我想查看版本值最高的记录,获取其注释字段的内容,然后将其复制。

这在视觉上更容易理解;运行该命令后,该表应如下所示:

ID 版本 编号。 笔记
1 无效的 31 有点好吃
2 1 31 可口
3 2 31 有点好吃
4 无效的 32 极好 …

sql sql-server sql-update

7
推荐指数
2
解决办法
1631
查看次数

为什么C#自动实现的属性是公开的?

在我看到的所有示例中,即使在MSDN文档示例中,C#自动实现的属性也是公开的.来自C++背景,我一直被告知,将成员数据设为私有是个好主意,除非有充分的理由不这样做.

为什么以下从未使用过(至少我从未见过它):

private Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

我查看了MSDN文档并阅读了几个关于自动实现属性的教程,但似乎没有任何关于它们的优缺点的建议以及何时应该避免它们.自动实现的属性会破坏程序安全吗?有没有应该避免的情况?在哪些情况下他们是理想的选择?

谢谢.

c# properties

6
推荐指数
2
解决办法
3631
查看次数

IntelliJ IDEA中的@param和@return这样的标签是什么?

我刚开始使用IntelliJ IDEA进行Java编程,我看到像@param和@return这样的标签(它们叫做标签吗?).这些标签有什么意义?如果我的代码中没有这些标签,IntelliJ实际上会抱怨!

知道最重要的是什么以及它们用于什么?

我在IntelliJ文档中找不到与这些标签相关的任何内容.

java ide intellij-idea

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

汇编:为什么跳转到通过ret返回的标签会导致分段错误?

Linux程序集教程说明:

有一件非常重要的事情需要记住:如果您打算从程序返回(使用RET指令),请不要跳转到它!就像"从来没有!" 这样做会导致Linux上的分段错误(这是好的 - 所有程序都会终止),但在DOS中,它可能会因各种程度的可怕而在你脸上爆炸.

但我无法理解为什么它会导致分段错误.听起来就像从函数返回一样.

我有一种情况需要实现逻辑"如果X发生,请调用程序A.否则,调用程序B." 除了袋鼠编织意大利面条代码之外还有其他方式吗?

linux assembly nasm yasm

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