如何获取正在执行的二进制文件驻留在C程序中的路径?
我正在寻找类似于__FILE__ruby/perl/PHP的东西(当然,__FILE__C中的宏是在编译时确定的).
dirname(argv[0])会给我我想要的所有情况,除非二进制文件在用户的$PATH...然后我根本得不到我想要的信息,而是""或者"."
我有一个简单的测试运行器,用于我的OpenPGP模块中的错误https://github.com/singpolyma/OpenPGP-Haskell/blob/master/Data/OpenPGP.hs:
module Main where
import Data.OpenPGP
import Data.Binary (encode, decode)
packet = EmbeddedSignaturePacket (signaturePacket 2 168 ECDSA SHA256 [] [SignatureCreationTimePacket 1013401916,IssuerPacket "36FE856F4219F1C7"] 48065 [MPI 4,MPI 11,MPI 60,MPI 69,MPI 37,MPI 33,MPI 18,MPI 72,MPI 41,MPI 36,MPI 43,MPI 41,MPI 53,MPI 9,MPI 53,MPI 35,MPI 3,MPI 40,MPI 14,MPI 79,MPI 1,MPI 4,MPI 51,MPI 23,MPI 62,MPI 62,MPI 62,MPI 7,MPI 68,MPI 51,MPI 13,MPI 49,MPI 8,MPI 64,MPI 32,MPI 50,MPI 59,MPI 17,MPI 43,MPI 12,MPI 67,MPI 5,MPI 67,MPI 5,MPI 25,MPI 63,MPI 0,MPI 53,MPI 2,MPI 36,MPI 83,MPI 39,MPI 54,MPI 65,MPI …Run Code Online (Sandbox Code Playgroud) 希望有人可以帮忙解决这个问题.我试图弄清楚如何显示包含某个字符串的第一行,即"计算机"(txt文件中第一次出现"计算机").我更喜欢用grep这样做.
我知道 grep "computer" somefile.txt
将显示包括"计算机"在内的所有行.我渴望学习,如果有人有其他方式我想听!
大家好
我正在学习makefile,我知道如何创建一个简单的makefile.我正在转向嵌套的makefile.这是我的目录结构
/src
...makefile
...main.cpp
...foo
......makefile
......foo.cpp
......foo.h
Run Code Online (Sandbox Code Playgroud)
当调用root makefile时,它会调用目录foo中的makefile .这是我的问题
任何帮助都会很棒!
我想在COBOL中读取STDIN(又名SYSIN)的行.现在我只想把它们打印出来,以便我知道我有它们.从我正在阅读的所有内容看起来应该可行:
IDENTIFICATION DIVISION.
PROGRAM-ID. APP.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SYSIN ASSIGN TO DA-S-SYSIN ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD SYSIN.
01 ln PIC X(255).
88 EOF VALUE HIGH-VALUES.
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
OPEN INPUT SYSIN
READ SYSIN
AT END SET EOF TO TRUE
END-READ
PERFORM UNTIL EOF
DISPLAY ln
READ SYSIN
AT END SET EOF TO TRUE
END-READ
END-PERFORM
CLOSE SYSIN
STOP RUN.
Run Code Online (Sandbox Code Playgroud)
编译(使用open-cobol和cobc -x),但运行它我得到:
libcob: File does not exist (STATUS = 35) File : '' …Run Code Online (Sandbox Code Playgroud) 我试图在ARM中使用GCC进行一些裸机编程并在QEMU上进行测试.每当我从C调用ARM标签时,我的程序就会挂起.我有一个简单的代码示例,在https://gist.github.com/1654392上显示问题- 当我在该代码中调用activate()时,它会挂起.
我用objdump观察到当我从汇编到C代码(从_start开始)执行bl时,它生成一个小包装器,切换到拇指指令.看起来C代码都是用拇指指令生成的,但我的所有程序集都是用ARM(32位)指令生成的.我无法弄清楚为什么会这样或如何解决它.
我正在运行以下Scala代码:
import scala.util.parsing.json._
import scala.io._
object Main {
def jsonStringMap(str: String) =
JSON.parseFull(str) match {
case Some(m: Map[_,_]) => m collect {
// If this doesn't match, we'll just ignore the value
case (k: String, v: String) => (k,v)
} toMap
case _ => Map[String,String]()
}
def main(args: Array[String]) {
val fh = Source.fromFile("listings.txt")
try {
fh.getLines map(jsonStringMap) foreach { v => println(v) }
} finally {
fh.close
}
}
}
Run Code Online (Sandbox Code Playgroud)
在我的机器上,http://sortable.com/blog/coding-challenge/上的文件大约需要3分钟.我编写的等效Haskell和Ruby程序在4秒内完成.我究竟做错了什么?
我尝试了没有地图的相同代码(jsonStringMap)并且速度非常快,JSON解析器真的很慢吗?
看起来很可能默认的JSON解析器真的很慢,但我尝试了https://github.com/stevej/scala-json,虽然它降低到35秒,但仍然比Ruby慢得多.
对UNIX和Windows上的C语言类似于setTimeout的内容感兴趣.
基本上,我想:
start_timer(&function_pointer, int time_in_secs)
Run Code Online (Sandbox Code Playgroud)
或尽可能接近我.
此外,类似于setInterval的东西会很好(每隔n秒调用一次回调),但这可以使用setTimeout实现:)
似乎jQuery trigger()只运行与jQuery绑定的事件处理程序.我有一些使用本机浏览器事件绑定的模块.使用/sf/answers/187356921/中的代码对我有用,但我想知道jQuery中是否有内置的东西会这样做?
从评论更新: 显然它适用于按钮上的点击事件.但不适用于选择框上的更改事件:http://jsfiddle.net/qxpXV/2/
对于记录:黑客攻击其他库与jQuery 进行绑定确实trigger()有效,但我真的不想这样做.
是否有一个很好的库来解析Haskell或ANSI C中字符串的日期?像PHP的strtotime,或Ruby的Time.parse或Chronic,或者其他什么.
如果它可以解析"下周"等,那么这是理想的,但即使它可以自己弄清楚一个完整的日期字符串是什么格式并返回结果,这就足够了.
我真的不想移植慢性或手工提取strototime ...