最近,FoxitReader for Linux正式推出,我喜欢它.
http://www.webupd8.org/2015/09/foxit-pdf-reader-sees-new-linux-release.html
但是,FoxitReader不支持任何评论工具的快捷键.这对我来说非常不方便,特别是当我必须首先使用笔记本电脑的触控板选择工具时.
所以我想问一下是否有办法配置FoxitReader的快捷键?
我没有在FoxitReader的偏好中看到这个功能,所以在Linux中查看FoxitReader的配置文件可能是一个可能的解决方案.但我不知道该怎么做.
感谢您花时间阅读我的帖子!
如何在Windows上安装带有OPam的OCaml?
我使用 Clang 作为静态分析工具的前端。我注意到有一个选项-Xclang允许我手动管理由 Clang 触发的 LLVM 传递。
-Xclang <arg> Pass <arg> to the clang compiler
Run Code Online (Sandbox Code Playgroud)
我已经知道这-Xclang -disable-llvm-passes将禁用所有通行证。但我找不到任何好的文档来描述传递给 的可能参数是什么-Xclang。
有谁知道我可以在哪里找到更多信息-Xclang?
非常感谢!
最近,它在OCaml官方github中宣布Camlp4被ppx rewriters and extension points(https://github.com/ocaml/camlp4)取代:
Camlp4是官方OCaml发行版的一部分,直到版本4.01.0.从那以后,它被一个更简单的系统所取代,这个系统更易于维护和学习:ppx重写器和扩展点.
我一直在使用Camlp4为DSL编写解析器(从OCaml分离语法).
所以,我想问一下这个ppx rewriters工具是否可以做同样的事情?
感谢您花时间阅读我的问题!
在OCaml中,如果我必须使用许多if-then-else编写函数,下面是我的愚蠢和丑陋的解决方案.
let foo () =
let a1 = ... in
if (a1) then
result1
else
let a2 = ... in
if (a2) then
result2
else
let a3 = ... in
if (a3) then
result3
else
let a4 = ... in
if (a4) then
result4
else
result5.
Run Code Online (Sandbox Code Playgroud)
如何美化上面的代码?我喜欢C/C++和Java风格,它使用"return"来保存下一个if语句的缩进.我可以用OCaml做同样的事情吗?
int foo () = {
bool a1 = ...;
if (a1)
return result1;
bool a2 = ...;
if (a2)
return result2;
bool a3 = ...;
if (a3)
return result3;
bool a4 = ...; …Run Code Online (Sandbox Code Playgroud) 在OCaml中,当我必须检查列表数据结构的空虚时lst,我想使用
if (lst = []) then ...
Run Code Online (Sandbox Code Playgroud)
为了简洁,而不是使用模式匹配或检查列表的长度.
我想知道这种结构比较(=)对列表数据结构是否有任何副作用?
当使用OCaml时,我几乎总是使用下划线通配符let _ = exp,特别是当结果exp不重要时,但其中的计算是.例如:
let _ = print_endline "abc" in ... let _ = a := !a + 1 in ... let _ = do_some_thing ... in
所以,我只是想知道是否有广泛使用的副作用let _ = ...?
我想知道是否可以让 LLVMopt工具详细报告在每个优化级别(如-O1、-O2等)期间成功使用了哪些优化通道。
例如,这是文件的简单位码foo.bc:
define dso_local i32 @main() #0 {
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i32, align 4
store i32 0, i32* %1, align 4
store i32 1, i32* %2, align 4
store i32 1, i32* %3, align 4
%4 = load i32, i32* %2, align 4
ret i32 %4
}
Run Code Online (Sandbox Code Playgroud)
这是运行后获得的bitcodeopt -O1 foo.bc -o foo.opt.bc
; Function Attrs: noinline norecurse nounwind …Run Code Online (Sandbox Code Playgroud) 在Python中,我可以看到关键字in可以有效地用于检查子字符串,如:str1 in str2
无论如何都要做反转版本in,比如有一个(假设)关键字contain来表示str2 contain str1?这是为了编写代码的流程,如:
if str contain "foo":
return 1
elif str contain "bar":
return 2
elif str contain "boo":
return 3
elif str contain "far":
return 4
else
return 5
Run Code Online (Sandbox Code Playgroud)
就个人而言,(假设)上面的代码比使用更具可读性in:
if "foo" in str:
return 1
elif "bar" in str:
return 2
elif "boo" in str:
return 3
elif "far" in str:
return 4
else
return 5
Run Code Online (Sandbox Code Playgroud) ocaml ×5
llvm ×2
llvm-clang ×2
bitcode ×1
camlp4 ×1
clang ×1
foxit-reader ×1
if-statement ×1
install ×1
let ×1
list ×1
llvm-ir ×1
opam ×1
optimization ×1
ppx ×1
python ×1
windows ×1