小编tri*_*ean的帖子

手动装配与GCC

免责声明:我刚刚开始使用x86程序集.我确实在大学学过一点SPIM,但这几乎不值得一提.

我想我开始的可能是libc中最简单的函数,abs().在C中非常简单:

long myAbs(long j) {
    return j < 0 ? -j : j;
}
Run Code Online (Sandbox Code Playgroud)

我的装配版本:

    .global myAbs
    .type   myAbs, @function
    .text

myAbs:
    test %rdi, %rdi
    jns end
    negq %rdi
end:
    movq %rdi, %rax
    ret
Run Code Online (Sandbox Code Playgroud)

(这对于32位整数不起作用,可能是因为RAX是64位寄存器,并且符号可能位于错误的位置 - 我必须对此进行调查).

现在这是gcc的作用(gcc -O2 -S myAbs.c):

        .file   "myAbs.c"
        .section        .text.unlikely,"ax",@progbits
.LCOLDB0:
        .text
.LHOTB0:
        .p2align 4,,15
        .globl  myAbs
        .type   myAbs, @function
myAbs:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        subq    $4144, %rsp
        orq     $0, (%rsp)
        addq    $4128, %rsp …
Run Code Online (Sandbox Code Playgroud)

c assembly gcc

37
推荐指数
2
解决办法
2520
查看次数

Swagger:尽管参数不同,"等效路径已经存在"

我正在尝试将Atom发布协议(RFC5023)转换为Swagger/OpenAPI规范来练习编写这些规范.

我遇到了以下问题:在Atom中有不同类型的URI,例如Collection和Member URI.我的想法是这样记录:

paths:
  /{CollectionURI}:
    get:
      summary: List Collection Members
      ...
    post:
      summary: Create a Resource
      ...
    parameters:
      - $ref: "#/parameters/CollectionURI"
  /{MemberURI}:
    get:
      summary: Retrieve a Resource
      ...
    parameters:
      - $ref: "#/parameters/MemberURI"
Run Code Online (Sandbox Code Playgroud)

当我这样做时,swagger-editor声称这样做

已存在等效路径:/ {MemberURI}

这些是在查询时返回不同内容的不同类型的URI.我想以不同方式调用它们来单独记录它们.

有没有办法做到这一点?

谢谢!

编辑:规格在Swagger-UI中显示得很好 - 这是编辑器中的错误还是UI只是忽略了我的错误?

swagger swagger-editor atom-feed

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

标签 统计

assembly ×1

atom-feed ×1

c ×1

gcc ×1

swagger ×1

swagger-editor ×1