小编Die*_*Epp的帖子

目标C - 以zip方式访问zip文件而不提取zip

我正在寻找一种方法来访问zip文件中的文件而不提取整个文件.我在互联网上找到的所有拉链解决方案似乎都提取了整个拉链.有谁知道解决方案?

memory zip objective-c

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

如何检查从C传递的函数指针是否为非NULL

示例代码如下

Rust部分:

#[no_mangle]
pub extern fn call_c_function(value: i32, fun: fn(i32) -> i32) -> i32 {
    fun(value)
}
Run Code Online (Sandbox Code Playgroud)

而C部分:

int32_t call_c_function(int32_t value, int32_t (*fun)(int32_t));

int32_t triple(int32_t x)
{
    return x*3;
}

int main(int argc, char *argv[])
{
    int32_t value = 3;
    int32_t result = call_c_function(value, triple);

    printf("%d tripled is %d\n", value, result);

    call_c_function(0, NULL);  // Crash here

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

当然第二次召唤call_c_function会崩溃.Rust编译器不会抱怨里面的不安全代码call_c_function,因为从生锈的角度来看这段代码是安全的.也不允许简单地写:

if !fun.is_null() {
    fun(value)
}
Run Code Online (Sandbox Code Playgroud)

因为fun类型是fn(i32) -> i32(它不是指针).

所以我的问题是,如何call_c_function防止NULL指针解除引用?有没有办法检查从C传递的回调是否无效?

也许我必须改变 …

c ffi rust

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

如何将 exe 转换回 Python 脚本

最近我将 .py 文件转换为 .exe 文件。

我丢失了原始的 .py 文件,只剩下 exe 文件。我用 pyinstaller 转换了它。

有没有办法扭转这个以取回我原来的 .py 文件?

python pyinstaller python-2.7

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

OpenGL 折叠/缩小实现?

我已经弄清楚如何通过使用变换反馈(或通过渲染到纹理)将高阶函数映射过滤器转换为 OpenGL 代码。我也希望能够使用Fold,但我不知道这是如何工作的。让我们假设该操作是关联的,所以我不在乎它是左折叠还是右折叠还是某种不确定的混合。

折叠操作示例:

  • 计算包含一组点的最小 AABB(折叠顶点数组)。
  • 计算纹理中的最亮值(折叠纹理)。

或者如果没有 OpenCL 或 CUDA 这不可行吗?

arrays opengl functional-programming gpgpu

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

有没有办法让XCode构建设置根据构建ACTION(例如,清理,重建)而变化?

我正在努力弄清楚究竟是如何schemes工作的xcode以及它们的用途.我有一个使用外部构建系统(scons)在OS X上构建的跨平台产品.我希望能够构建/调试Xcode,主要是因为符号搜索和调试器.我一直在使用eclipse CDT哪个效果很好,但有一些怪癖.

我可以通过创建一个空项目并添加一个"外部构建系统"目标来实现这一点.然后,作为目标的'Info'的一部分,我将'Build Tool'指定为/ usr/local/bin/scons,'Arguments'是我发送给scons的构建参数.基本上我调用了以下构建变量$(TARGET),$(BUILD_TYPE)这些变量根据构建是调试还是发布而有所不同,因此可以将它们指定为条件"构建设置".

问题是我想Menu->Project->Clean工作.它看起来像Xcode/xcodebuilder使用$(ACTION)变量来这个消息传给其他-这里$(ACTTION)要么是"打造","干净",或其他一些建设行动.请参阅xcodebuild ACTION.Scons有点不同 - 它有一个内置的清理动作,在命令行上调用scons -c.所以我的第一个想法是使用条件"构建设置"来传递这个参数,但事实证明,条件"构建设置"似乎并没有因构建而异ACTION- 只是构建体系结构和SDK.

是否可以在"构建设置"中添加表达式Xcode/xcodebuilder?还有另一种好方法可以让'清洁'Xcode与scons 一起工作吗?

xcode scons xcodebuild

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

使用"C"在套接字编程中发送数据

我之前发过一个问题,关于同样的问题,但在这里我想要我的代码指导.使用我尝试创建用于发送数据包的人的提示.我的最大数据包结构以及头和有效负载是16个字节.如果可能的话,通过发送和接收代码浏览并建议我哪里出错.基本上我的客户端不断向服务器发送数据,它只是没有结束,服务器不显示结果.

客户:

int main(int argc, char *argv[])
{
    int sockfd, portno, n;
    struct sockaddr_in serv_addr;
    struct hostent *server;
    struct packet
    { 
        long int srcID;
        long int destID;
        long int pver;
        long int profiles;
        char length;
        long int data;
    };
    if (argc < 3) {
        fprintf(stderr,"usage: %s hostname port\n", argv[0]);
        exit(0);
    }
    portno = atoi(argv[2]); //Convert ASCII to integer
    sockfd = socket(AF_INET, SOCK_STREAM, 0); // socket file descriptor

    if (sockfd < 0) 
        error("ERROR DETECTED !!! Problem in opening socket\n");

    server = …
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming

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

如何检查C 中的缓冲区?

我有一个大小为 1500 的缓冲区。在该缓冲区中,我需要检查 15 个字节是否全为零(从 100 到 115)。我们怎样才能做到这一点(如果我们不使用任何循环)?数据的类型是“unsigned char”,实际上它是一个unsigned char数组。

平台:Linux、C、gcc 编译器

使用memcmp()是否正确?我正在从智能卡读取一些数据并将它们存储在缓冲区中。现在我需要检查最后 15 个字节是否连续为零。我memcmp()在这里提到是因为我需要一种有效的方法;智能卡读取已经花费了一些时间。

或者按位比较是否正确。请建议。

c linux string

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

UILabel的换行?

我有这个代码:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(25, 25, 275, 40)];
label.text = @"I am learning Objective-C for the\n very first time!";
[self.view addSubview:label];
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它没有插入一个新的行......如何在一个换行符UILabel

newline objective-c uikit

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

Python.如何摆脱字符串中的'\ r'?

我有一个excel文件,我转换为一个带有数字列表的文本文件.

test = 'filelocation.txt'

in_file = open(test,'r')

for line in in_file:
    print line

1.026106236
1.660274766
2.686381002
4.346655769
7.033036771
1.137969254

a = []

for line in in_file:
    a.append(line)
print a

'1.026106236\r1.660274766\r2.686381002\r4.346655769\r7.033036771\r1.137969254'
Run Code Online (Sandbox Code Playgroud)

我想将每个值(在每一行中)分配给列表中的单个元素.而是创建一个由\ r分隔的元素.我不确定\ r是什么,但为什么将这些放入代码?

我想我知道一种摆脱字符串\ r的方法,但我想从源码中解决问题

python string replace list

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

为什么 go get 失败并显示“无效版本:未知修订版”?

我发布了一个 Go 模块的更新,将版本升级到 v1.1.0。我创建了一个名为v1.1.0的标签并将该标签推送到 GitHub。

https://github.com/depp/bytesize/releases/tag/v1.1.0

但是,我不能在我的其他项目中使用这个包。我收到一条错误消息,提示“版本无效:未知修订版 v1.1.0”。我不知道为什么修订是“未知的”,因为它被标记了。

$ go get github.com/depp/bytesize@v1.1.0                    
go: downloading github.com/depp/bytesize v1.1.0
go get github.com/depp/bytesize@v1.1.0: github.com/depp/bytesize@v1.1.0: verifying module: github.com/depp/bytesize@v1.1.0: reading https://sum.golang.org/lookup/github.com/depp/bytesize@v1.1.0: 410 Gone
    server response: not found: github.com/depp/bytesize@v1.1.0: invalid version: unknown revision v1.1.0
[Exit: 1]
Run Code Online (Sandbox Code Playgroud)

go go-modules go-get

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