小编Lek*_*eyn的帖子

如何使用JavaScript滚动到元素?

我试图将页面移动到一个<div>元素.

我试过下一个代码无济于事:

document.getElementById("divFirst").style.visibility = 'visible';
document.getElementById("divFirst").style.display = 'block';
Run Code Online (Sandbox Code Playgroud)

html javascript

120
推荐指数
10
解决办法
24万
查看次数

如何正确转义Makefile的数据?

我正在config.mk使用一个将由Makefile使用的bash脚本动态生成.该文件构造为:

cat > config.mk <<CFG
SOMEVAR := $value_from_bash1
ANOTHER := $value_from_bash2
CFG
Run Code Online (Sandbox Code Playgroud)

如何确保生成的文件确实包含内容$value_from_bash*,而不是扩展/解释的内容?我可能需要逃避$$$\\\,但是否有其他字符需要进行转义?也许有一个我没有听说过的特殊字面作业?

太空似乎也很麻烦:

$ ls -1
a b
a
$ cat Makefile
f := a b
default_target:
    echo "$(firstword $(wildcard ${f}))"
$ make
a
Run Code Online (Sandbox Code Playgroud)

如果我使用f := a\ b它的工作原理(使用引号f := 'a b'也不起作用,makefile只会将其视为常规字符)

bash makefile escaping

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

是否有"break"标签来逃避Liquid中的循环?

如何摆脱Liquid中的循环,主要是for-loop?我试过了{% break %},但是失败了,保存文件时出错:未知标签'break'.

我正在努力实现以下目标:

var variants = [];
{% for item in cart.items %}
    {% if item.product.handle == "handle-name" %}
    variants = {{item.product.variants | json}};
    {% break %} // won't work
    {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

liquid

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

如何在gdb中打破UBSan报告并继续?

最新版本的GCC和Clang具有Undefined Behavior Sanitizer(UBSan),它是一个编译标志(-fsanitize=undefined),用于添加运行时检测代码.出现错误时,会显示如下警告:

packet-ber.c:1917:23:运行时错误:左移54645397829836991 8个位置无法在类型'long int'中表示

现在我想调试它并在所述行上获得调试中断.对于Address Sanitizer(ASAN),会ASAN_OPTIONS=abort_on_error=1导致可捕获的致命错误.唯一可用的UBSan选项会UBSAN_OPTIONS=print_stacktrace=1导致报告的调用跟踪转储.但是,这不允许我检查局部变量然后继续该程序.使用的-fsanitize-undefined-trap-on-error,因此不可能的.

我应该如何在UBSan报告中打破gdb?虽然break __sanitizer::SharedPrintfCode似乎有效,但这个名字看起来很内部.

c gdb sanitizer address-sanitizer ubsan

32
推荐指数
3
解决办法
6656
查看次数

如何动态加载javascript文件?

我有这个代码:

    <script type="text/javascript">
    function js() {
        var getJs = document.getElementById("jogo");

        if (JS == true) { //if button JS is pressed - it is correct?

            < script type = "text/javascript"
            src = "file1.js" >


        } else < script type = "text/javascript"
        src = "file2.js" >
</script>
}
</script>
Run Code Online (Sandbox Code Playgroud)

它不起作用.我给了两个按钮,如果第一个按下,file1.js应该加载.如果按下第二个,file2.js应加载.

我怎样才能做到这一点?

javascript

27
推荐指数
3
解决办法
8万
查看次数

如何在libfoo.so.1之类的库名下找到完整的文件路径?

如果不实现链接器或使用ldd,我如何找到库的完整路径?Linux上有可用的标准库吗?(POSIX可能吗?)

使用lddgrep在有意使用的文件上libGL.so.1,它看起来像:

$ ldd /usr/bin/glxinfo | grep libGL
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f34ff796000)
Run Code Online (Sandbox Code Playgroud)

给定一个库名libGL.so.1,我怎样才能找到完整的路径/usr/lib/libGL.so.1.最好接受查找32位和64位库的选项.如果没有库那样做,是否存在执行此操作的程序?有点像find-library-path libGL.so.1.该locate libGL.so.1命令不计算在内.

dlopen如果它从该库执行代码,我不想实际加载库或其他东西.

c linux linker

19
推荐指数
3
解决办法
2万
查看次数

KILL信号是否立即退出进程?

我正在研究使用fork()和执行创建子进程的服务器代码.fork()成功时注册子项的PID,CHILD并在捕获信号时进行清理.

如果服务器需要停止,所有程序都会被终止,最终会有一个KILL信号.现在,这通过迭代所有已注册的PID并等待CHILD信号处理程序移除PID来工作.如果子程序没有正确退出,这将失败.因此,我希望kill结合使用waitpid以确保清理PID列表并记录并执行其他一些其他操作.

考虑下一个代码示例:

kill(pid, SIGKILL);
waitpid(pid, NULL, WNOHANG);
Run Code Online (Sandbox Code Playgroud)

摘录自waitpid(2):

waitpid():成功时,返回状态已更改的子进程ID; 如果指定了WNOHANG并且存在由pid指定的一个或多个子(ren),但尚未更改状态,则返回0.出错时,返回-1.

pid在下一个函数开始之前,所给出的过程是否总是消失?将waitpid始终返回-1在上述情况下?

c linux signals

11
推荐指数
2
解决办法
7152
查看次数

如何用最近的标签装饰git日志?

git log --decorate 将有关refs的信息添加到日志输出中:

commit 9e895ace5d82df8929b16f58e9f515f6d54ab82d (tag: v3.10-rc7)
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Jun 22 09:47:31 2013 -1000

    Linux 3.10-rc7
Run Code Online (Sandbox Code Playgroud)

此信息有助于跟踪哪个标记(或分支)包含此提交.查看受限制的文件集(例如,子目录)时,不必为这些提交标记.有没有办法在日志输出中引用标记?

我之前提到过git describe,但是这个产生的v3.10-rc7-135-g98b6ed0结果是相对于提交此更改的分支标记.我要找的是提交之间的标签名称.

为清楚起见,这是目前的情况:

$ git log --decorate --oneline
98b6ed0 (HEAD, origin/master, master) Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
1a506e4 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
578a131 dlci: validate the net device in dlci_del()
11eb264 dlci: acquire rtnl_lock before calling __dev_get_by_name()
...
9e895ac (tag: v3.10-rc7) Linux 3.10-rc7
Run Code Online (Sandbox Code Playgroud)

我想拥有的是:

98b6ed0 (v3.10-rc7+, HEAD, origin/master, master) Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
1a506e4 (v3.10-rc7+) Merge branch 'drm-fixes' …
Run Code Online (Sandbox Code Playgroud)

git

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

如何使用Javascript更改浏览器语言

我想访问用户浏览器设置并更改浏览器语言,这是否可以使用Javascript?

如果可能,我该如何访问?(请提供示例代码)

javascript browser

9
推荐指数
4
解决办法
2万
查看次数

如何在javascript函数中创建超级

就像在这个例子中:

var teste = {name:'marcos'};
$(teste).each(function(){

    var name = this.name; // i don't want to do that.

    // i want to have access to 'this' inside this function (sayName)
    var sayName = function(){
        alert(name); // there is something like "super" in java? or similar way to do?
    }
    sayName();

});
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

javascript jquery

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