小编Tim*_*man的帖子

如何在Windows上的D语言程序中使用SQLite库?

如何在Windows上的D语言程序中使用SQLite3库?

我在Ubuntu上发现了一个类似的问题,但在我的情况下它没有用.

import std.stdio, std.string, etc.c.sqlite3;

void main () {
  sqlite3* db;
  auto ret = sqlite3_open (toStringz("mydb.s3db"), &db);
  writeln (ret);
}
Run Code Online (Sandbox Code Playgroud)

我假设,sqlite3.d是真正的SQLite3库的某种标头.我有一个sqlite3.dll,但我不知道如何将它与我的程序链接.pragma仅适用于lib formate(如pragma(lib, "sqlite3")).

也许我应该使用SQLite源代码,但是如何将它与D代码一起编译呢?或者找到将dll转换为lib的方法更好?

D中解决这些问题的一般方法是什么?

sqlite dll d

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

如果类型未签名,我该如何检查?

我想要检查,如果类型是byte/short/int/long或它是ubyte/ushort/uint/ulong.第一个想法是使用建筑is(T1:T2),但是is(ulong:long)==is(long:ulong)==true,它不是那样的.

现在我正在使用类似的东西is(T:long) && (cast(T)(-1)<cast(T)(1)),但这段代码对我来说似乎很难看.

那么true只有当类型是无符号时才会返回更优雅的逻辑语句吗?

d

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

如何为rdmd(Windows)设置输出目录?

我知道,在dmd中可以这样做:

> cd ..\bin
> dmd ..\src\example.d
Run Code Online (Sandbox Code Playgroud)

或者像这样:

> dmd example.d -offilename ..\bin\example.exe
Run Code Online (Sandbox Code Playgroud)

但是在rdmd中这种方法不起作用.文件"example.exe"始终与"example.d"出现在同一文件夹中.

我试着这样做

> rdmd --build-only example.d ..\bin\example.exe
Run Code Online (Sandbox Code Playgroud)

, 这个

> rdmd --build-only example.d -offilename ..\bin\example.exe
Run Code Online (Sandbox Code Playgroud)

还有这个

> cd ..\bin && rdmd --build-only ..\src\example.d
Run Code Online (Sandbox Code Playgroud)

具有相同的否定结果.

d dmd

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

如何关闭/打开Microsoft SQL Server中的所有外键和触发器?

插入和修改大量数据可能需要它.

说实话,我在输入问题时已经知道了答案.但是我找到它真的很难,所以我想,这个答案对其他人来说会有所帮助.

但如果你知道更好的方法,你可以自由回答.

所有外键开关

来源:http://www.nxtbook.com/nxtbooks/cmp/msdnmag0407/index.php?startid = 27

__PRE__

所有触发开关

来源:http://www.nxtbook.com/nxtbooks/cmp/msdnmag0407/index.php?startid = 28

__PRE__

sql sql-server

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

"Thread.sleep()"有一些奇怪的副作用,使用"write()"

我正在尝试使用以下代码动态更改Windows控制台中的输出:

for(int i = 0;; i++,Thread.sleep(dur!("msecs")(200)))
    write("\r",i);
Run Code Online (Sandbox Code Playgroud)

但你必须等待很长时间才能看到屏幕上的内容.即使改为1毫秒,持续时间也足以将数字重写减慢到2-3秒.

输出会像这样(某处)变化:

23343
30948332
42048332
Run Code Online (Sandbox Code Playgroud)

看起来write()函数工作可以在进程中间中断.

如果我们write()改为writeln(),sleep()函数将正常工作.

为什么会这样呢?

multithreading d

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

标签 统计

d ×4

dll ×1

dmd ×1

multithreading ×1

sql ×1

sql-server ×1

sqlite ×1