小编lur*_*ker的帖子

无法在NASM中包含文件

我尝试使用包含一个文件到我的boot.asm文件中

%include "input.asm"
Run Code Online (Sandbox Code Playgroud)

但每次我尝试编译它时都会收到错误消息,说nasm无法打开包含文件.
input.incIS与boot.asm在同一目录中我在这里和谷歌寻找答案,但没有人帮助我.

是否有一种特殊的方式包含文件应该在包含之前编译/格式化?或者只是我的鼻子在咆哮?

编辑:这是包含的代码:

mov ax, 0x07C0  ; set up segments
mov ds, ax    mov es, ax
mov si, welcome
call print_string
mov si, welcome2    
call print_string    
mov si, welcome4    
call print_string  
jmp .mainloop

%include 'input.asm'
mainloop:    ;loop here
Run Code Online (Sandbox Code Playgroud)

input.asm:

 ; ================
 ; calls start here
 ; ================

 print_string:
   lodsb        ; grab a byte from SI

   or al, al  ; logical or AL by itself
   jz .done   ; if the result is zero, get out

   mov …
Run Code Online (Sandbox Code Playgroud)

assembly nasm

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

使用golang time包丢失0表示一位数小时

我正在尝试将一系列日期格式化为:

  • 2013年3月12日下午3点看起来像:2013-03-12-15.txt
  • 2013年3月12日凌晨4点看起来像:2013-03-12-4.txt

使用golang和Time

package main

import (
    "time"
    "fmt"
)

const layout = "2006-01-02-15.txt"

func main() {
    t := time.Date(2013, time.March, 12, 4, 0, 0, 0, time.UTC)
    fmt.Println(t.Format(layout))
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,在一位数小时前加零: 2013-03-12-04.txt

是否有一种惯用的方法来达到所需的输出,或者我必须使用String包调整自己的东西?

在此先感谢您的帮助 !

formatting datetime go

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

C中的重复声明全局变量

为什么这在全球范围内有效:

static int a;
static int a=0;
Run Code Online (Sandbox Code Playgroud)

但不在函数体内:

void foo()
{
    static int b;
    static int b=0; //error: Duplicate declaration of global variable 'b'
    ...
Run Code Online (Sandbox Code Playgroud)

使用clion 2017.3.1,C99,gcc5.4

c variables global declaration duplicates

6
推荐指数
1
解决办法
551
查看次数

制作适用于 GNU 和 SWI 的 Prolog 代码

我意识到这会有限制,但是有没有一种合理的方法可以在 Prolog 代码中放入条件指令,以便在 GNU 或 SWI 中合理地工作?我至少在考虑最简单的情况,即sumlistSWI 和sum_listGNU中的内置谓词在拼写上彼此不匹配。或者 SWI 有assert但 GNU 没有。所以最好有这样的东西:

:- if($SWI).
SWI version of stuff
:- else.
GNU version of stuff
:- endif.
Run Code Online (Sandbox Code Playgroud)

或者干脆:

:- if(not_a_builtin(sumlist))
sumlist(L, S) :- sum_list(L, S).
:- endif.
Run Code Online (Sandbox Code Playgroud)

或者什么不是。两种语言中都存在条件指令,但似乎只是提供了做这种事情所需的条件。我可能错过了手动搜索没有出现的东西。

portability prolog swi-prolog gnu-prolog iso-prolog

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

Bash:删除除最后n行之外的所有输入行

我想删除除了最后一行或前n行之外的所有行,并使用短的单行

例如.:

---

aaaa

bbbb

cccc

dddd

cat/echo/find ...  | sed < all except last 2 lines > 
Run Code Online (Sandbox Code Playgroud)

应该结果

aaaa

bbbb

---

aaaa

bbbb

cccc

dddd

eeee

ffff

cat/echo/find ...  | sed < all except last 2 lines > 
Run Code Online (Sandbox Code Playgroud)

应该结果

aaaa

bbbb

cccc

dddd

---
Run Code Online (Sandbox Code Playgroud)

我也需要这个非常高的n.所以可以设置n = 100左右;)

Thanx任何帮助!

bash awk sed

5
推荐指数
4
解决办法
6510
查看次数

qt Creator 中的升级功能是什么?它是如何工作的?

我制作了一个播放音频视频的应用程序,但我无法从 qt creator 中找到 QVideowidget。

  • 如何将其添加到 gui 布局中?
  • 可以推广到功能帮助吗?
  • 有没有办法在 qopengl 小部件中播放视频?
  • qvideo 小部件的任何替代品,以便我可以从 qt creator 中拖放?

qt

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

将GNU Smalltalk项目导入Pharo?

我有大约1800行GNU Smalltalk代码,我想进入Pharo.我已经开始按类选择,选择器选择器,但它非常耗时且乏味.

有没有办法批量导入项目?我可以很容易地调整GST源文件的格式,使vi之更像Pharo.

我考虑的另一件事是复制一个"启动" .mcz文件,感受source.st文件的格式,然后创建一个source.st带文件cat的新文件vi.但是那里的snapshot.bin文件似乎也有源于它,这使得这是一条艰难的道路.似乎应该有一个更简单的方法.我用不同的短语谷歌,但没有打任何东西.

smalltalk pharo gnu-smalltalk

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

Pharo Smalltalk 中 = 和 == 有什么区别?

=Pharo Smalltalk和Pharo Smalltalk之间有什么区别==?他们分别叫什么名字isEqual

= ~=    equality / inequality (deep)
== ~~   equality / inequality (shallow)
Run Code Online (Sandbox Code Playgroud)

smalltalk pharo

5
推荐指数
2
解决办法
4196
查看次数

下一个谓词混乱

我正在学习prolog,我正在为一个非常简单的游戏编写下一个谓词.

你有一个列表[1,0,1,0,0,1]一个合法的移动是1移动到一个零位置,1只能向右移动到包含0的第一个位置,但它允许跳过其他必要时的价值观

首先我写了一个谓词来将值0更改为1:

flip_first_zero([0|Tail], [1|Tail]). 
Run Code Online (Sandbox Code Playgroud)

很简单,现在我想找到合法的举动,我会尝试解释我的思考过程:

next([],[],[]).
next([Head|Tail], Rest, Out):-
    flip_first_zero([Head|Tail],List1),
    append(Rest,List1,Out).

next([Head|Tail], [Head|Rest], List):-
    next(Tail,Rest, List).
Run Code Online (Sandbox Code Playgroud)

[1,0,0,1,1,1,0]输出应该是一个例子[0,1,0,1,1,1,0] ; [1,0,0,0,1,1,1]; [1,0,0,1,0,1,1] ; [1,0,0,1,1,0,1].

[ 1,0,0,1,1,1,0] - > [0,1,0,1,1,1,0]

[1,0,0,1,1,1,0] - > [1,0,0,0,1,1,1 ]

[1,0,0,1,1,1,0] - > [1,0,0,1,0,1,1 ]

[1,0,0,1,1,1,0] - > [1,0,0,1,1,0,1 ]

所以我是如何理解这一点的,我每次都通过在Rest中保存它来循环移除头部,所以我可以在之后重新附加它.

我接近这个错吗?

prolog

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

FindFirstFile/FindNextFile 查找已使用 SHFileOperation 删除的文件夹

我正在使用FindFirstFileFindNextFile显示应用程序中给定文件夹中的文件列表。

有时,我会看到我的应用程序使用 删除文件夹的情况SHFileOperation,但仍然可以通过FindFirstFile. 我已经在 StackOverflow 上看到了之前报告的这个问题:使用 remove 函数删除的文件仍然显示在 FindFirstFile/FindNextFile 中。但是,在我的情况下,我没有使用remove,即使清除回收站后该文件夹仍然可见。此外,该文件夹在 Windows 文件资源管理器中不可见。这让我想知道文件资源管理器正在过滤什么以忽略文件。

我试图寻找在文件属性,但只发现删除的文件夹有FILE_ATTRIBUTE_DIRECTORYFILE_ATTRIBUTE_VIRTUAL集。该FILE_ATTRIBUTE_VIRTUAL属性有点神秘(MSDN 说它是为系统使用而保留的),所以我尝试忽略设置了该属性的文件夹。但是,事实证明存在设置了此属性的合法现有/活动文件夹,因此我无法将其用作过滤器。

为什么会出现这个文件夹?如何忽略它而不忽略现有(未删除)文件夹?

windows winapi file

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