小编Pro*_*ica的帖子

C [void*]中的通用数据类型

您好我正在尝试使用void*作为C中的通用数据类型.我想要的是一种机制,使用它我可以存储任何东西并得到任何东西.我写了一些代码,但在最后一种情况下失败了.任何人都可以看看代码,如果您有任何其他想法,请告诉我.

我知道我要存储的是什么,所以在那一点上我知道数据类型,但在重审期间我只知道起始地址和大小.

这是代码:

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


static void store( void *destination, void *source, size_t size ) {
    memcpy ( (char*)destination, source, size);
}
static void retrieve ( void *destination, void *source, size_t size) {
    memcpy ( destination, (char*)source, size);
}

void *storage_char_ptr = (void*) malloc ( sizeof( char* ));
void *storage_int_ptr  = (void*) malloc ( sizeof(int*));
void *storage_int      = (void*) malloc ( sizeof( int));

int main() {

    int int_in = 65;
    void *int_out_ptr;
    int *ptr …
Run Code Online (Sandbox Code Playgroud)

c

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

Android中的FFMpeg jni?

我已经构建了Bambuser(http://bambuser.com/opensource)提供的FFMPEG可执行文件和库.所以我设法构建了Android可执行文件和libraties.如何在Eclipse项目中链接这些库并从Java调用FFmpeg函数?开源代码包括C头文件.

我是Android的原生代码新手,我找不到一个简单的答案.基本:有一堆Android兼容的库和一些C头文件,我需要做些什么才能从java(+ Android SDK)重用这些库的功能?

任何帮助,将不胜感激.

亲切的问候,

WhyHow

android ffmpeg

9
推荐指数
1
解决办法
6629
查看次数

获取C中的大文件大小

在有人抱怨"重复"之前,我一直在彻底检查SO,但似乎还没有干净的答案,尽管问题看起来很简单.

我正在寻找一个可移植的C代码,它能够提供文件的大小,即使这样的文件大于4GB.

通常的方法(fseek,ftell)工作正常,只要文件仍然<2GB.它在各处得到了相当好的支持,所以我试图找到相同的东西.

不幸的是,所有编译器都不支持更新的方法(fseeko,ftello).例如,MinGW错过了(显然是MSVC).此外,一些评论让我相信新的返回类型(off_t)不一定支持> 2GB的大小,它可能依赖于一些外部参数来进行检查.

MSVC不支持明确的方法(fseeko64,ftello64).MS提供等效的_fseeki64和_ftelli64.这已经很糟糕,但它变得更糟:一些Linux配置似乎在运行时严重支持这些功能.例如,我在PowerPC上的Debian Squeeze,使用GCC 4.4,将使用fseeko64生成一个"filesize"方法,它始终返回0(虽然它适用于Ubuntu64).MinGW似乎回答了2GB以上的随机垃圾.

嗯,就可移植性而言,我有点无能为力.如果我需要制作一堆#if #else,那么为什么不首先直接使用OS和编译器细节方法,例如用于MSVC的GetFileSize().

c file filesize large-files

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

如何使用log4c滚动日志?

有人能告诉我如何使用log4c API库的滚动日志功能吗?

它只提供了它提供的功能的文档,而且有很多.

如果有人使用log4c滚动日志,那么很高兴看到如何配置和使用它.

c logging

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

更换换行符UTF-8安全吗?

如果我有一个UTF-8字符串并想用HTML替换换行符<br>,这样安全吗?

$var = str_replace("\r\n", "<br>", $var);
Run Code Online (Sandbox Code Playgroud)

我知道str_replace不是UTF-8安全的,但也许我可以逃脱这个.我问,因为没有mb_strreplace函数.

php utf-8

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

建议将Haskell作为脚本引擎嵌入ARM的iOS应用程序中?

几个月前我试图将Haskell编译成iOS应用程序.不幸的是,我能找到的唯一稳定/维护的实现是GHC,所以我尝试了某种交叉编译,但由于没有用于ARM/iOS的RTS而失败了.

我意识到这对我来说不够容易.所以我要求为此提出一些建议.我知道iOS有一个补丁,但它不再继续了.我考虑过NHC/YHC,但我不能使用丢弃的实现.如果我错了,请纠正我.

haskell arm embedding ios

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

Java UTF-8的区别

JavaDoc说"空字节'\ u0000'以2字节格式而不是1字节编码,因此编码的字符串永远不会嵌入空值."

但这甚至意味着什么呢?在这种情况下,什么是嵌入式null?我试图从Java保存的UTF-8字符串转换为"真正的"UTF-8.

java utf-8

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

在android上检测USB网络共享

有没有办法知道(在编程上)你的活动/应用程序中用户已经在他的手机上启用了USB网络共享?

usb android

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

Flask和WTForms - 如何获取wtforms以刷新选择数据

我正在使用最新版本的flask,wtforms和Flask-WTForms.

我有一个显示表单的页面,其中一个是带有选项选项的选择框,名为"A".

当应用程序启动时,一切都很好.在另一种形式中,我添加了一个名为"B"的记录.

现在,我想要的表单应该有选项框和选项A和B bot只有选项A可用.我必须杀死uWSGI并重新启动以获取wtforms来刷新数据.

那么,我错过了什么?如何让wtforms刷新数据?

这是我如何创建表单,其中getAgencyList返回要添加到选择框的选项列表.在另一个对话框中,我添加了代理商,代理商列表应该更新,而无需重新启动应用:

class createUser(Form):
    """
    Users are given a default password
    """
    first_name   = TextField()
    last_name    = TextField()
    email = TextField('Email', [validators.Length(min=6, max=120), validators.Email()])
    user_role = SelectField(u'User Role', choices=[('1', 'User'), ('2', 'Admin')])
    org_role = SelectField(u'User Role', choices=[('1', 'Agency'), ('2', 'Advertiser'),('3', 'Admin')])
    agency = SelectField(u'Agency', choices=getAgencyList())
Run Code Online (Sandbox Code Playgroud)

python flask wtforms

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

为 Windows 编写自己的 9P 服务器?

从1903版本开始,Windows 10可以挂载9P网络文件系统。这是从 WSL 使用的。您可以在 Linux 中运行“explorer.exe”,然后在 Windows 中查看来自 Linux 实例的“网络”(但本地)共享。

该协议是否开放供 WSL 以外的其他程序使用?即 Windows 中的这个新 9P 客户端可以用作DokanWinFsp的替代品吗?

(或者这个 9P API 是 WSL 内部的并且只能源自 WSL 内部?)

filesystems winapi network-programming plan-9 windows-10

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