小编Raf*_*ida的帖子

在Win7 64位,Python 2.6.4中安装PIL(Python映像库)

我正在尝试安装所述库以供Python使用.我尝试下载运行的Windows的可执行安装程序,但表示它没有找到Python安装.然后尝试注册(http://effbot.org/zone/python-register.htm)Python,但脚本说它无法注册(尽管键出现在我的寄存器中).

然后我尝试下载源代码包:我运行setup.py构建并且它可以工作,但是当我运行setup.py install时它会说:

running install
running build
running build_py
running build_ext
building '_imaging' extension
error: Unable to find vcvarsall.bat
Run Code Online (Sandbox Code Playgroud)

我能做什么?

UPDATE(2014年5月):就像一些评论和回答说,公益诉讼是目前unmantained,现在要走的路是用枕头(https://pypi.python.org/pypi/Pillow/,pip install pillow).

python windows-7-x64 python-imaging-library

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

纯C中的"多用途"链表实现

这不完全是一个技术问题,因为我知道C有足够的东西来做我需要的东西(我的意思是,不是'让语言妨碍你'),所以这个问题基本上是'什么方向'采取'问题.

情况是:我目前正在学习高级算法课程,并且为了"成长为程序员",我需要使用纯C来实现实际任务(它运作良好:几乎任何小错误你实际上都是你完全理解你正在做什么来解决它).在实现过程中,我显然遇到了必须从头开始实现"基本"数据结构的问题:实际上不仅是链表,还有堆栈,树等等.

我专注于本主题中的列表,因为它通常是一个结构,我最终在程序中使用了很多,作为"主"结构或作为其他更大的结构的"帮助"结构(例如,一个哈希树,可以解决使用链表冲突).

这要求列表存储许多不同类型的元素.我假设这里作为一个前提,我不想为每种类型重新编码列表.所以,我可以提出这些替代方案:

  • 制作一个void指针列表(有点不优雅;更难调试)
  • 只有一个列表,但是有一个联合作为'元素类型',包含我将在程序中使用的所有元素类型(更容易调试;如果元素的大小不同,则浪费空间)
  • 使用预处理器宏为SGLIB样式重新生成每种类型的代码,"模仿"C++的STL(创造性解决方案;不浪费空间;元素具有返回时实际的显式类型; 列表中的任何更改代码可以真的很戏剧化)
  • 你的想法/解决方案

要明确问题:上述哪一个最好?

PS:由于我基本上处于学术背景中,因此我对在行业中使用纯C的人的观点也非常感兴趣.我知道大多数纯C程序员都在嵌入式设备领域,我不认为我面临的这种问题很常见.但是,如果那里的任何人知道它是如何"在现实世界中"完成的,我会对你的意见非常感兴趣.

c containers linked-list generic-programming

28
推荐指数
4
解决办法
7748
查看次数

将C++代码与'gcc'链接(不带g ++)

大家好:快速问题:我的情况是只使用'gcc'(没有g ++)生成我的C++可执行文件是有用的.原因是我必须将代码提交给自动提交服务器,该服务器无法识别'g ++'(或'c ++',就此而言)命令.

在我的实验中,虽然我正在编译 gcc工作得很好.问题是,当我尝试链接生成的目标文件时,它会搞砸.现在,基于我从gcc手册页中所理解的内容(我可能会离开,所以告诉我,如果我),g ++基本上是gcc,但它链接了C++库.

如果是这样,我怎么能(如果可能的话)显式链接C++库而不使用g ++(或c ++)命令?

编辑:我正在添加makefile以更好地说明问题:

COMPILER = gcc
CFLAGS = -Wall -g -x c++

# MODULE COMPILATION
model: modules/model.h modules/sources/model.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/model.cpp -o obj/model.o

algorithms: modules/algorithms.h modules/sources/algorithms.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/algorithms.cpp -o obj/algorithms.o

io: modules/io.h modules/sources/io.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/io.cpp -o obj/io.o

stopwatch: modules/stopwatch.h modules/sources/stopwatch.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/stopwatch.cpp -o obj/stopwatch.o

# EXECUTABLE GENERATION
exe: model algorithms io stopwatch
    $(COMPILER) $(CFLAGS) main.cpp obj/model.o obj/algorithms.o obj/io.o obj/stopwatch.o -o bin/process …
Run Code Online (Sandbox Code Playgroud)

c++ linker gcc

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

C++格式化输入:如何"跳过"令牌?

假设我有这种格式的输入文件:

VAL1 VAL2 VAL3
VAL1 VAL2 VAL3
Run Code Online (Sandbox Code Playgroud)

我正在编写一个只对VAL1和VAL3感兴趣的程序.在C中,如果我想"跳过"第二个值,我会这样做:

char VAL1[LENGTH]; char VAL3[LENGTH];
FILE * input_file;
fscanf(input_file, "%s %*s %s", VAL1, VAL3);
Run Code Online (Sandbox Code Playgroud)

意思是,我使用"%*s"格式化程序使fscanf()读取此标记并跳过它.我如何用C++的cin做到这一点?有类似的命令吗?或者我必须读取虚拟变量?

提前致谢.

c++ formatted-input

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

如何将CakePHP连接到SQLite数据库?

我有一个相当基本的问题:我似乎无法将CakePHP连接到我的SQLite数据库.令人惊讶的是,我没有在互联网上找到很多关于它的信息,尽管我可能会查找错误的关键字.不过,这是我的连接代码:

var $default = array(
        'driver' => 'sqlite',
        'connect' =>'sqlite_popen',
        'persistent' => false,
        'host' => 'localhost',
        'port' => '',
        'login' => '',
        'password' => '',
        'database' => '/home/MY_USER_NAME/public_html/my_database.sqlite',
        'schema' => '',
        'prefix' => '',
        'encoding' => ''
);
Run Code Online (Sandbox Code Playgroud)

但是,Cake只说"Cake无法连接到数据库".另外,我不知道在哪里可以看到"真实"日志(即从SQLite"驱动程序"返回的错误).所以,我遇到了一个死胡同.我该怎么办?

提前致谢.

sqlite cakephp

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

是否有符号形式的音乐"标准"数据集?

对于音频格式的音乐数据,例如,有百万歌数据集(http://labrosa.ee.columbia.edu/millionsong/).是否有类似的音乐符号形式(即音符 - 而不是声音 - 存储在哪里)?任何格式(如MIDI或MusicXML)都可以.

audio information-retrieval dataset

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

从Perl在后台运行工作没有等待返回

免责声明

首先,我知道这个问题(或密切的变化)已被问过一千次.我真的花了几个小时看着明显的和不那么明显的地方,但可能有一些我想念的小事.

上下文

让我更清楚地定义问题:我正在编写一个新闻通讯应用程序,我希望实际的发送过程是异步的.在用户单击"发送"时,请求立即返回,然后他们可以检查特定页面中的进度(例如,通过AJAX).它是用传统的LAMP堆栈编写的.

在我正在使用的特定主机中,出于安全原因禁用了PHP的exec()和system(),但Perl的系统函数(exec,system和backticks)却没有.所以我的解决方法 解决方案是在Perl中创建一个"触发器"脚本,通过PHP CLI调用实际的发送者,并重定向到进度页面.

我被困在哪里

截至目前,发件人的电话就是这一行:

system("php -q sender.php &");
Run Code Online (Sandbox Code Playgroud)

问题在于,它不会立即返回,而是等待脚本完成.我希望它在后台运行并让系统调用自己立即返回.我也试过在我的Linux终端上运行一个类似的脚本,实际上直到脚本完成后才会显示提示,即使我的测试输出没有运行,表明它确实在后台运行.

我已经尝试过了什么

  • Perl的exec()函数 - 与system()相同的结果.
  • 将命令更改为:"php -q sender.php | at now"),希望"at"守护程序返回,并且PHP进程本身不会附加到Perl.
  • 执行命令'indirect':"/ bin/sh -c'php -q sender.php&'" - 仍然等到sender.php完成发送.
  • fork()'进程并在子进程中执行系统调用(希望分离进程) - 与上面相同的结果

我的测试环境

为了确保我没有遗漏任何明显的东西,我创建了一个sleepper.php脚本,它在退出之前只睡了五秒钟.和一个像这样的test.cgi脚本,逐字:

#!/usr/local/bin/perl
system("php sleeper.php &");
print "Content-type: text/html\n\ndone";
Run Code Online (Sandbox Code Playgroud)

我现在该怎么办?

php unix perl background

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

我可以在 Spring Web 应用程序的上下文中打开 REPL 吗?

我正在 Tomcat 8 上开发基于 Spring MVC 和 Hibernate 的 Web 应用程序(用于部署和本地开发)。IDE 是 Spring Tool Suite(基于 Eclipse)。

我想在我的应用程序的上下文中(当它在本地 Tomcat 上运行时)打开一个 REPL(read-eval-print-loop,如 Groovy 的、Python 的、Ruby 的等),以通过缩短代码来加速开发 -> 测试反馈回路。

也就是说,我希望能够在命令行(或在 Eclipse 中)打开一个 shell 并执行以下操作:

ClientDAO clientDAO = getAutowiredDAOFromSpringSomehow();
Client client = clientDAO.findByID(100);
client.setName("Another name");
clientDAO.save(client);
Run Code Online (Sandbox Code Playgroud)

我可以通过在控制器中的某处设置断点并使用 Eclipse 的调试器显示选项卡来执行任意代码来解决这个问题,但这有点不切实际且不舒服。

如果更方便,我愿意使用 Groovy 或 Scala 的 shell(不过,我显然仍然需要访问我的对象)。

我有哪些选择?

java eclipse spring tomcat read-eval-print-loop

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

"stable_sort()ing"C++中的STL <list>

我认为问题标题足够清楚:是否可以在C++中使用stable_sort()一个std :: list?或者我必须将其转换为std :: vector?

我问,因为我尝试了一个简单的例子,它似乎需要RandomAccessIterators,链表没有.那么,我如何稳定排序std :: list()

编辑:示例代码,给我一个错误:

#include <list>
#include <algorithm>
// ...
list<int> the_list;
stable_sort(the_list.begin(), the_list.end());
Run Code Online (Sandbox Code Playgroud)

g ++给了我大约30行错误(粘贴时间太长),其中一些错误指的是RandomAccessIterators(以及一些名为_merge_sort_loop的东西).这有点奇怪,因为我已经看到链接列表的一些合并排序实现,它们几乎是"顺序的".

c++ stl list stable-sort

4
推荐指数
1
解决办法
1983
查看次数

在C++中转发"预先声明"一个类

我有一个情境,我想声明一个类成员函数返回一个依赖于类本身的类型.让我给你举个例子:

class Substring {
    private:
        string the_substring_;
    public:
        // (...)
        static SubstringTree getAllSubstring(string main_string, int min_size);
};
Run Code Online (Sandbox Code Playgroud)

而SubstringTree的定义如下:

typedef set<Substring, Substring::Comparator> SubstringTree;
Run Code Online (Sandbox Code Playgroud)

我的问题是如果我在Substring定义之后放置SubstringTree定义,静态方法说它不知道SubstringTree.如果我反转声明,那么typedef表示它不知道Substring.

我该怎么做?提前致谢.

c++ substring class

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