小编mar*_*kmb的帖子

python c扩展模块中没有返回值的方法

我正在尝试在python中创建一个通过并行端口发送数据的脚本.我正在用C语言创建自己的模块.

问题是:当我尝试执行我的模块时,python崩溃了.没有错误,没有数据,没有.它只是关闭.

这是我的模块:

#include <Python.h>
#include <sys/io.h>
#define BaseAddr 0x378

/*----------------------------------------------------------------------------------
Este es un módulo destinado a controlar el puerto paralelo.
Probablemente tenga que ser ejecutado como administrador.

Created by markmb
------------------------------------------------------------------------------------*/

static PyObject *
paralelo(PyObject *self, PyObject *args){
    int pin;
    ioperm(BaseAddr,3,1);
    if (!PyArg_ParseTuple(args, "i", &pin))
        return NULL;
    outb(pin,BaseAddr);
    ioperm(BaseAddr,3,0);
    return 1
}
PyMethodDef methods[] = {
    {"paralelo", paralelo, METH_VARARGS, "Sends data through a parallel port"},
    {NULL, NULL, 0, NULL}
};
PyMODINIT_FUNC
initparalelo(void){
    (void) Py_InitModule("paralelo", methods);
}
Run Code Online (Sandbox Code Playgroud)

(它没有所有python混乱的工作)我通过distutils编译它然后,在终端(使用xubuntu),我把:

import paralelo …
Run Code Online (Sandbox Code Playgroud)

c python python-c-api parallel-port python-extensions

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

压缩前估计.tar.gz文件的大小

我们正在开发一个传输资源非常有限的系统(在Linux上).可以作为一个文件发送的最大文件大小已定义,我们希望发送最小数量的文件.因此,所有发送的文件都以GZip格式(.tar.gz)打包和压缩.

有许多不同类型的小文件(二进制文本,文本,图像......)应该以最有效的方式打包,以便每次都发送最大量的数据.

问题是:有没有办法在不运行tar实用程序的情况下估计tar.gz文件的大小?(因此可以计算出最佳的文件组合)

gzip

5
推荐指数
2
解决办法
5287
查看次数

堆栈溢出,指针在C中

我是C的新手,我正在尝试一些我发现的练习.

在其中一个练习中,我正在尝试使用指向字符串的指针(char数组),但它不起作用.它编译,但是当执行时,它会抛出"堆栈溢出"(好吧,我认为是"堆栈溢出",因为我用西班牙语).

这些是有问题的线:

//This is the variable declaration, before this, there is the "main function" declaration
char entrada[100];
char *ult=entrada;
char cantidadstr[10];
int i,j,k = 0;
int res;

scanf ("%s",entrada);
printf ("\n%s",entrada);

//Here crashes
printf ("Hola %s",ult);
while (*ult != "\0"){

//And here there's more code
Run Code Online (Sandbox Code Playgroud)

先感谢您!!

编辑

(我不能回答:))然后,我会发布一些代码.

当我执行时,插入数据后,它会抛出"Violacióndesegmento",谷歌说这意味着Stack Overflow

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main(void){
char entrada[1001*11*101];
/*Asi tenemos el tamano maximo:
1001 por las 1000 posibles lineas, mas la primera
11 por el tamano maximo …
Run Code Online (Sandbox Code Playgroud)

c stack-overflow pointers

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

PHP线程池

编辑:澄清和简化:我正在寻找一种"好"的方式,每当Stackable结束时(使用第一个Stackable中的数据添加第二个),可以向Pool提交更多可堆叠对象.我有想法轮询对象,直到一个结束(低效和丑陋)并传递对Pool对象的引用(我无法使其工作).基本代码是这个:https://github.com/krakjoe/pthreads/blob/master/examples/Pooling.php

现在,完整描述:

我正在开发一个PHP应用程序,它已经增长太多而且需要花费很多时间.因此,我正在尝试多线程该应用程序,使用线程池(我知道PHP不是最好的选择,但我不想要,并且此时无法更改语言).

问题是,应用程序有两个阶段,必须按顺序排列,每个阶段都有很多可以同时执行的子任务.所以,这是我头脑中的过程:

  • 第1阶段将有N个子任务,这些子任务将是Stackable对象.
  • 当子任务i结束时,必须通知"main"(创建池,Stackables等),并使用来自子任务i(不同的Stackable对象)的一些数据执行子任务i的阶段2.在此阶段,第1阶段的每个子任务将有M个子任务.

我想为第1阶段和第2阶段的线程使用相同的线程池,我从第1阶段到第2阶段的唯一解决方案是轮询N个子任务中的每一个,直到其中一个结束,然后调用第2阶段结束,并重复直到所有N个子任务结束.

我正在使用Joe Watkins在pthreads源中包含的线程池的示例作为基本代码.

php multithreading threadpool

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

奇怪的Javascript结构

我试图通过解析从网站获取信息,我发现这段javascript代码:

var product = {
    identifier: '198980',
    valid: '1378159199',
    fn: 'Entrada para IMAX Barcelona, para cualquier sesión y día',
    description: '',
    category : [ 'Barcelona','Planes del día','Actividades'],
    brand: '',
    price: '5.00',
    amount: '9.75',
    currency: 'EUR',
    url: 'http://es.letsbonus.com/ocio/barcelona/entrada-a-imax-port-vell-2013-08-02-198980',
    photo: 'http://media5.letsbonus.com/products/198000/198980/13509238959102-0-680x276.jpg'
};
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这个javascript代码包含网站中某个产品的大量信息,因此解析它会很有趣.我可以看到这不是JSON对象,也不是Javascript数组.

我的问题是:

这是某种类型的Javascript对象吗?如果是这样,在PHP中是否有任何简单的处理方式?我已经能够在我的代码中检索这个特定的字符串.

javascript php arrays parsing

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