小编jus*_*ody的帖子

node和shebang:通过命令行帮助执行

我的节点安装位于:

/usr/local/bin/node

我添加了shebang:

#!/usr/local/bin/node

到文件的顶部,并给我的节点应用程序文件权限755,但当我尝试运行时:

> ./my-app

我老了:

-bash: ./my-app: No such file or directory

我究竟做错了什么?

path shebang node.js

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

如何在scala控制台中测量语句的时间?

我正在使用Scala来衡量java的正则表达式引擎的性能.下面的正则表达式大约在3秒内执行,但我无法使用System.currentTimeMillis进行测量.(最后一个表达式返回0)

scala> val b = System.currentTimeMillis; val v = new Regex("(x+)+y").findAllIn("x"*25); b-System.currentTimeMillis
b: Long = 1330787275629
v: scala.util.matching.Regex.MatchIterator = empty iterator
res18: Long = 0
Run Code Online (Sandbox Code Playgroud)

您现在为什么最后返回的值为0,而不是scala在执行regexp时花费的ms量?

regex scala

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

boost :: spirit组成语法的语法

我已经想出如何使用精神 - 也就是说,我写了一个中等复杂的语法.我总是采用增长程序的方法 - 一次一个子系统.我已经为复杂模型编写了数据结构,该模型在最高级别有4种类型.

我想使用由规则方法组成语法一次解析一个类型的顶级类型 - 即,我想用一个顶级语法编​​写4个语法.如果这是可能的(我开始怀疑),有人可以发布片段或对这样做的项目的引用.

一个顶级语法具有50+(可能更多)规则(用于正确的错误处理)听起来不是很有趣(TMP代码易失/慢编译,并提供无用的错误消息).

c++ parsing recursive-descent boost-spirit tmp

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

MySQL:删除左连接上的重复列,3个表

我有一个表使用3个外键到其他表.当我执行左连接时,我得到重复的列.MySQL表示USING语法将减少重复列,但没有多个键的示例.

鉴于:

mysql> describe recipes;
+------------------+------------------+------+-----+---------+-------+
| Field            | Type             | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------+-------+
| ID_Recipe        | int(11)          | NO   | PRI | NULL    |       |
| Recipe_Title     | char(64)         | NO   |     | NULL    |       |
| Difficulty       | int(10) unsigned | NO   |     | NULL    |       |
| Elegance         | int(10) unsigned | NO   |     | NULL    |       |
| Quality          | int(10) unsigned | NO   |     | NULL    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql database left-join mysql-connector

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

将静态库转换为共享库(从libsome.a创建libsome.so):我的符号在哪里?

这个问题的标题是一个确切的愚蠢,但这个问题的答案对我没有帮助.

我有一堆打包在静态库中的目标文件:

% g++ -std=c++98 -fpic -g -O1 -c -o foo.o foo.cpp
% g++ -std=c++98 -fpic -g -O1 -c -o bar.o bar.cpp
% ar -rc libsome.a foo.o bar.o
Run Code Online (Sandbox Code Playgroud)

我想从libsome.a生成libsome.so而不是目标文件,但是库真的是准系统:

% g++ -std=c++98 -fpic -g -O1 -shared -o libsome.so libsome.a
% nm -DC libsome.so
0000xxxx A _DYNAMIC
0000xxxx A _GLOBAL_OFFSET_TABLE_
         w _Jv_RegisterClasses
0000xxxx A __bss_start
         w __cxa_finalize
0000xxxx A _edata
0000xxxx A _end
0000xxxx T _fini
0000xxxx T _init
Run Code Online (Sandbox Code Playgroud)

静态库是好的,或者至少我完全能够将它链接到可执行文件并让它运行包含的功能.如果我从foo.o和bar.o创建libsome.so,一切都很好.

c++ g++ shared-libraries ld static-libraries

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

Boost.Spirit:Lex + Qi错误报告

我正在编写一个解析器,用于使用缩进等非常复杂的配置文件.我决定使用Lex将输入分解为令牌,因为它似乎使生活更轻松.问题是我找不到任何使用Qi错误报告工具(on_error)的示例,其中解析器使用令牌流而不是字符进行操作.

要使用的错误处理程序on_error需要一些能够准确指示错误在输入流中的位置.所有示例都只是std::string从迭代器对构造并打印出来.但是如果使用Lex,则迭代器是标记序列的迭代器,而不是字符.在我的程序中,这导致std::string在我注意到无效的迭代器类型之前挂起构造函数.

据我所知,令牌可以将输入流的一对迭代器作为其值.这是默认属性类型(如果类型是这样lex::lexertl::token<>).但是,如果我想我的令牌包含一些解析(更多有用的int,std::string等等),这些迭代器都将丢失.

如何在使用带Qi的Lex时生成指示输入流中位置的人性化错误消息?有这种用法的例子吗?

谢谢.

c++ error-handling boost lex boost-spirit

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

覆盖shell函数,保留对原始函数的引用

是否可以覆盖shell函数并保留对原始函数的引用?

f()  { echo original; }
f()  { echo wrapper; ...; }
f
Run Code Online (Sandbox Code Playgroud)

这个输出应该是:

wrapper
original
Run Code Online (Sandbox Code Playgroud)

这可能是半便携式的吗?

基本原理:我正在尝试通过用shell函数替换部分函数来测试我的程序,shell函数将其调用记录到日志文件中.只要我只包装命令和内置函数,并且只要我不介意不加选择的日志记录,这样就可以正常工作.现在,我想通过在每个测试中记录有趣的部分来使测试套件更易于维护.

所以,假设我的程序包括

f
g
h
Run Code Online (Sandbox Code Playgroud)

其中f,g,h都是外壳的功能,我想追踪的只是执行g.

shell posix

10
推荐指数
2
解决办法
1066
查看次数

pkg-config:平台中立的方法来找出我的.pc文件的安装位置?

我怎么知道安装.pc文件的位置?这些文件放在不同操作系统的不同位置.目标是能够使用$(INSTALL) mylib.pc $$(pkg-config --pcdir)安装目标中的内容.我以为pkg-config能以某种方式告诉我,但找不到任何东西.

我正在寻找一个可在普通Makefile中使用的"独立"解决方案(不得要求autotools或类似的支持).

cross-platform makefile build pkg-config

8
推荐指数
2
解决办法
2385
查看次数

什么时候打开(2)失败了errno == EMLINK?

我偶然发现了一些代码

int fd = open(fn, flags, 0);
if (fd < 0 && errno != EMLINK)
  ...
Run Code Online (Sandbox Code Playgroud)

flagsO_RDONLY或者O_RDONLY|O_NOFOLLOW

IEEE Std 1003.1,2013(SUSv4)刚刚发布

  • [EMLINK]链接太多.尝试使单个文件的链接数超过{LINK_MAX}.

  • {LINK_MAX}指向单个文件的最大链接数.

如何打开文件增加其链接数?

c posix freebsd errno

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

Windows脚本宿主(jscript):我如何下载二进制文件?

我正在尝试使用Windows脚本宿主(JScript)自动下载文件.我看到ADODB.Stream有一个Open方法,其文档似乎应该可以打开HTTP URL并流式传输响应体:

var url = 'http://example.com/example.tar.gz';
var path = 'example.tar.gz';

var input = WScript.CreateObject('ADODB.Stream');

input.Open(url);
input.SaveToFile(path);
input.Close();
Run Code Online (Sandbox Code Playgroud)

但它在Open电话会议上遭到轰炸

(null):在此操作的范围内未找到与名称,范围或选择条件匹配的对象或数据.

adodb wsh jscript

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