小编Ner*_*ing的帖子

使用C中的宏初始化未知大小的2D数组

我正在做一个小型宏项目,该项目需要将二维数组文字传递给我的一个宏,例如:myMacro({{0, 1, 2}, {2, 1, 0}})。不必将数组文字的大小传递给宏,是否有办法将其扩展为以下内容:int[2][3] = { {0, 1, 2}, {2, 1, 0} }或等效的东西(任何保留数组形状的初始化都将起作用)?预先感谢您的任何帮助

c arrays multidimensional-array c-preprocessor

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

OCaml函数调用以错误的顺序发生

是的,所以这是一个奇怪的问题,让我感到惊讶.基本上,我正在构建一个构建系统,它允许您在主构建之前和之后运行shell命令.要执行这些命令我只是使用Sys.command.问题是每当我使用该函数时,它都会改变调用函数的顺序.例如:

Sys.command "echo 'Hi!'";
Printf.printf "second\n";
Sys.command "echo 'Bye!'"
Run Code Online (Sandbox Code Playgroud)

输出

Hi!
Bye!
second
Run Code Online (Sandbox Code Playgroud)

来自REPL和已编译的可执行文件.但是,如果我使用任何其他功能,它似乎工作正常.有趣的是,如果我定义一个函数来调用Sys.command它仍然以错误的顺序执行.我已经在GNU/Linux上运行的4.02.1和Cygwin中的4.01.0上测试了这一点,并且在两者上都获得了相同的行为.据我所知,;这不会影响通话顺序.我在这里错过了什么吗?

ocaml

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