小编Ben*_*ack的帖子

使用Clozure Common Lisp编译二进制文件

鉴于如下的简单程序,您将如何:

  1. 将其编译为要由实现加载的单独图像文件,以及您将使用哪些命令行参数加载它?

  2. 将其编译为可以按原样加载和运行的独立二进制文件.

    注意:我在保存应用程序时尝试添加":prepend-kernel t",以便抛出跟随错误.

    Error: value NIL is not of the
    expected type REAL. While executing: 
    CCL::<-2, in process Initial(0).
    
    Run Code Online (Sandbox Code Playgroud)
  3. 你会如何压制欢迎信息?

    该程序

    (defun main ()
      (format t "This is the program.")0)
    
    Run Code Online (Sandbox Code Playgroud)

编辑

讨厌回答我自己的一部分问题,但我发现了它.

加载函数后,键入以下内容进行编译:

(ccl:save-application "app")
Run Code Online (Sandbox Code Playgroud)

这会创建一个图像文件.通过将其传递给实现类型来加载它(注意:'ccl'二进制文件在我的系统路径中);

ccl -I app
Run Code Online (Sandbox Code Playgroud)

要运行顶级函数,请将其作为参数传递

ccl -I app --eval (main)
Run Code Online (Sandbox Code Playgroud)

executable compilation common-lisp

24
推荐指数
1
解决办法
4861
查看次数

如何查看Visual C++预处理器的输出?

我希望在我的代码上看到Visual C++预处理器的输出 - 即相当于gcc -E.对于我的生活,我找不到相关的编译器开关.我该如何做到这一点?

c++ visual-c++ c-preprocessor

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

以编程方式检索OS X命令行应用程序的绝对路径

在Linux上,应用程序可以通过查询轻松获得其绝对路径/proc/self/exe.在FreeBSD上,它更复杂,因为你必须建立一个sysctl调用:

int mib[4];
mib[0] = CTL_KERN;
mib[1] = KERN_PROC;
mib[2] = KERN_PROC_PATHNAME;
mib[3] = -1;
char buf[1024];
size_t cb = sizeof(buf);
sysctl(mib, 4, buf, &cb, NULL, 0);
Run Code Online (Sandbox Code Playgroud)

但它仍然是完全可行的.然而,我找不到在OS X上为命令行应用程序确定这一点的方法.如果您是在应用程序包中运行[[NSBundle mainBundle] bundlePath],则可以通过运行来确定它,但由于命令行应用程序不在捆绑包中,因此无效.

(注意:咨询argv[0]不是一个合理的答案,因为,如果从符号链接启动,argv[0]将是那个符号链接 - 不是所谓的可执行文件的最终路径.argv[0]如果一个哑的应用程序使用一个exec()调用而忘记正确初始化argv ,也可能会失败 我在野外见过的.)

c unix macos

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

开始使用"现代"Perl的资源

在听说过Perl生态系统的新部分,比如Moose,DeclareX和Catalyst之后,我认为看看Perl会很好.不幸的是,我能找到的所有介绍材料都是针对Perl 5.8或5.6的,并且对这些较新的框架一无所知 - 更不用说最近的Perl版本中引入的功能,例如~~运营商.对于有兴趣来Perl的人来说,有什么资源可用,并希望从一开始就学习当前最佳实践方法来做事情?

虽然我可以阅读骆驼书的第3版,然后通过成堆的CPAN文档等继续工作,我非常感谢一个不会强迫我学习一堆不赞成的方法的教程事情,只是在我阅读参考手册时转身并再次忘记它们.现实世界的代码已经充分记录并使用Perl的一些新角落也很棒.

perl moose

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

为什么在SIGTERM中使用threading.Event结果没被捕获?

我有一个线程化的Python守护进程.像任何好的守护进程一样,它想要启动它的所有工作线程,然后等待它被告知终止.终止的正常信号是SIGTERM,并且在大多数语言中我都会通过等待事件或互斥来终止,所以threading.Event对我来说是有意义的.问题是Python的Event对象和Unix信号似乎没有很好地结合在一起.

这按预期工作,终止于SIGTERM:

import signal
import time

RUN = True

def handle(a, b):
    global RUN
    print "handled"
    RUN = False

signal.signal(signal.SIGTERM, handle)
while RUN:
    time.sleep(0.250)
print "Stopping"
Run Code Online (Sandbox Code Playgroud)

但这导致没有SIGTERM交付(即,除了戒烟,"处理"永远不会被打印):

import signal
import threading

RUN_EVENT = threading.Event()

def handle(a, b):
    print "handled"
    RUN_EVENT.set()

signal.signal(signal.SIGTERM, handle)
RUN_EVENT.wait()
print "Stopping"
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

  1. threading.Event在某种程度上滥用了吗?
  2. 如果我不是,除了第一个例子中的poll-and-sleep机制之外还有其他选择吗?
  3. 另外,如果我不是,为什么使用threading.Event杀死信号处理程序?

python events multithreading signals daemon

16
推荐指数
1
解决办法
2568
查看次数

更安全的C标准库替代品

在I/O安全方面,C标准库非常差.许多函数都有缓冲区溢出(gets,scanf),或者如果没有给出正确的参数(scanf),可能会破坏内存,依此类推.每隔一段时间,我就遇到一位有进取心的黑客,他自己编写了一个缺乏这些缺陷的图书馆.

你见过的这些图书馆有哪些最好的?您是否在生产代码中使用过它们,如果是这样,那么它们不仅仅是业余爱好项目?

c low-level

13
推荐指数
2
解决办法
2474
查看次数

将"charset"添加到所有ASP.NET MVC HTTP响应中

是否有一种简单的方法来指定所有"普通"视图是一个ASP.NET MVC应用程序要charset=utf-8附加到Content-TypeView()缺乏一个覆盖,它允许您指定Content-Type,并ActionResult和朋友们似乎并没有暴露任何事情,无论是.很明显,动机可以解决Internet Explorer猜测"正确"编码类型的问题,而我希望这样做可以避免UTF-7 XSS攻击.

asp.net-mvc character-encoding utf-7

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

我在哪里可以获得用于Mac OS Classic开发的资源?

我最近感到无聊并启动了我的旧Mac OS Classic模拟器,然后怀念为系统编写旧式应用程序.所以,我的问题:

  1. 我在哪里可以获得仍然可以定位Classic的开发工具?(理想情况下是免费的,因为这只是为了好玩,但如果在eBay上抓取使用过的CodeWarrior版本是最好的方法,那就这样吧.)
  2. 我在哪里可以获得至少参考资料,所以我不必猜测和检查Carbon/System Toolbox?
  3. 是否有任何论坛仍在运行,以便在我遇到困难时回答老派的Mac问题?

这纯粹是为了好玩,所以不要担心这是多么不切实际.我知道.

macos macos-carbon retro-computing mac-classic

12
推荐指数
2
解决办法
4290
查看次数

在Java中运行时下载JAR文件

我想知道是否有可能在启动时有一个Java桌面应用程序,查看某个URL,看看是否需要更新,如果是这样,下载必要的JAR文件,并将它们添加到运行程序的类路径中.

如果旧的罐子在那里,它们不应该已经加载到类加载器中,此时应该是吗?是否有可能在加载w/out重启应用程序之前将它们换掉?

java jar classpath auto-update

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

如何在ASP.NET MVC中禁用HTTP Keep-Alive?

有没有办法告诉IIS/ASP.NET不允许某些请求保持活动?或者甚至对整个网站来说,如果这真的是唯一的方法吗?

asp.net iis asp.net-mvc

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