小编Ric*_*III的帖子

为什么我的程序在打开mkfifo-ed管道时会挂起?

我使用mkfifo来创建一个命名管道.然后我使用以下程序打开它.但是,该程序挂起在"fopen"行.这里有什么问题吗?

int main(int argc, char** argv) {
char* line = "hello, world!";
FILE* fp = fopen("/tmp/myFIFO", "rw");
fprintf(fp, line);
fclose(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ mkfifo

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

容量超过Int.MaxValue的C#数组

我想知道在C#中是否有任何结构可以包含超过Int.MaxValue的限制2,147,483,647项,如果有非常大的信息集.这是否必须使用多级数组?或者你可以创建一个最大长度为Long.MaxValue的数组吗?如果是这样,怎么样?

c# arrays structure

11
推荐指数
2
解决办法
2934
查看次数

Objective-C class_conformsToProtocol()bug?

我在我的iPhone Objective-C应用程序中遇到了一些奇怪的行为.

我正在使用一些代码来测试一个对象:

if (!class_conformsToProtocol([someVar someFunctionThatReturnsAClass], @protocol(MyProtocol)))
     [NSException raise:@"Invalid Argument" format:@"The variables returned by 'someFunctionThatReturnsAClass' Must conform to the 'myProtocol' protocol in this case."];
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我有一个看起来像这样的课:

@interface BaseClass : NSObject<MyProtocol>

...

@end

@interface SubClass : BaseClass

...

@end
Run Code Online (Sandbox Code Playgroud)

当我调用这个片段时class_conformsToProtocol([SubClass class], @protocol(MyProtocol)),它会返回NO.

此外,此代码失败:

class_conformsToProtocol([NSString class], @protocol(NSObject)); // also returns NO
Run Code Online (Sandbox Code Playgroud)

这段代码返回时YES:

[NSString conformsToProtocol:@protocol(NSObject)];
Run Code Online (Sandbox Code Playgroud)

我在文档中遗漏了什么吗?或者这是某种错误?(如果重要的话,我在iOS 4.2上).

iphone protocols class objective-c

11
推荐指数
2
解决办法
2140
查看次数

ctypes和字符串

我有一个简单的C文件:

char* initializetest() {
    char * test = malloc(1000);
    return test;
}

int searchtest( char* test )
{
   strcpy(test,"test");
   return 0;
}

main()
 {
    char *test = initializetest();
    searchtest(test);
    printf("%s\n", test );
}
Run Code Online (Sandbox Code Playgroud)

和python文件:

from ctypes import *

class Test(object):
    def __init__(self):
        self.test_library=CDLL("test.so")
        self.test_initialize = self.test_library.initializetest
        self.test_search = self.test_library.searchtest
        self.test_search.restype=c_int
        self.m = self.test_initialize()

    def search(self):
        self.test_search(self.m)
        print self.m

r = Test()
print r.search()
Run Code Online (Sandbox Code Playgroud)

如何在python中获得"test"字符串?

c python ctypes

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

用户删除我的iOS应用程序后如何存储本地数据?

我认为这是不可能的,因为所有数据都存储在沙盒中,当用户删除应用程序时,应该从设备中删除所有数据.

但不知何故,这发生了:

我从appstore下载了一个壁纸应用程序.

这是一个免费的应用程序,如果你不付费,你可以下载有限的壁纸,最多105.

  • 我下载壁纸并保存到我的相册.它现在是1/105.
  • 我删除了该应用,并删除了我相册中的壁纸.
  • 我关闭了iCloud备份功能.好的,它完全从我的设备上移除了,对吧?

  • 我再次下载它.

  • 我进入飞行模式,所以没有互联网连接.
  • 我打开应用程序,没有壁纸预览可以从互联网上下载.

但保存计数显示1/105!

我不是想偷他们的壁纸,我没有改变我的壁纸4个月.我只是想知道,这个应用程序怎么知道我已经保存了1个壁纸?

  • 我删除了该应用.所以它不存储在应用程序文档或tmp文件夹中.
  • 我删除了我的相册中的壁纸,因此它无法从我相册的MD5中获取.
  • 我处于飞行模式,因此它无法从服务器或互联网上的任何地方获取.

有谁知道这个应用程序存储保存/下载计数的位置?

persistence sandbox ios

11
推荐指数
1
解决办法
6615
查看次数

ASP.net MVC项目结构

我已经为我的新asp.net mvc项目创建了以下项目结构,我得到了一些反馈,因为其他人正在构建他们的项目以及我是否会改进我的...

这是我到目前为止:

+Assets
-+Images 
-+Scripts 
-+Stylesheets 
-+...              'More things like the above here
+Controllers 
-+Support
--+Actions         'Any custom action classes
--+Controllers     'Base controller classes
+Models
-+Domain           'Contains any class that specialise view specific domain logic
--+UrlProcessing   'Encoding/decoding business entities as URL parts 
--+...             'More things like the above here
-+Views            'Contains view models
--+Support
---+Views          'Base classes for any view models
+Support
-+Application      'Global application interface classes (i.e. class that wraps the function of the global asax)
-+Configuration    'Typed …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc solution

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

奇怪的编译代码

我用google的nacl编译器编译了一些Qt代码,但是ncval验证器并没有理解它.许多人中的一个例子:

src/corelib/animation/qabstractanimation.cpp:165
Run Code Online (Sandbox Code Playgroud)

这是相关的代码:

#define Q_GLOBAL_STATIC(TYPE, NAME)                                  \
    static TYPE *NAME()                                              \
    {                                                                \
        static TYPE thisVariable;                                    \
        static QGlobalStatic<TYPE > thisGlobalStatic(&thisVariable); \
        return thisGlobalStatic.pointer;                             \
    }

#ifndef QT_NO_THREAD
Q_GLOBAL_STATIC(QThreadStorage<QUnifiedTimer *>, unifiedTimer)
#endif
Run Code Online (Sandbox Code Playgroud)

编译为:

00000480 <_ZL12unifiedTimerv>:
     480:       55                      push   %ebp
     481:       89 e5                   mov    %esp,%ebp
     483:       57                      push   %edi
     484:       56                      push   %esi
     485:       53                      push   %ebx
     486:       83 ec 2c                sub    $0x2c,%esp
     489:       c7 04 24 28 00 2e 10    movl   $0x102e0028,(%esp)
     490:       8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
     494: …
Run Code Online (Sandbox Code Playgroud)

c++ x86 assembly qt google-nativeclient

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

为什么我们不能使用预处理器来创建自定义分隔的字符串?

我正在玩C预处理器,当看起来如此简单的事情失败时:

#define STR_START "
#define STR_END "

int puts(const char *);

int main() {
    puts(STR_START hello world STR_END);
}
Run Code Online (Sandbox Code Playgroud)

当我用gcc编译它时(注意:与clang类似的错误),它失败了,出现这些错误:

$ gcc test.c
test.c:1:19: warning: missing terminating " character
test.c:2:17: warning: missing terminating " character
test.c: In function ‘main’:
test.c:7: error: missing terminating " character
test.c:7: error: ‘hello’ undeclared (first use in this function)
test.c:7: error: (Each undeclared identifier is reported only once
test.c:7: error: for each function it appears in.)
test.c:7: error: expected ‘)’ before ‘world’
test.c:7: …

c macros gcc clang c-preprocessor

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

Java类文件编辑器

我可以反编译和编辑类文件的最有效方法是什么?我真的只想编辑文件中的一行代码,但JBE(java ByteCode Editor)不允许我更改浮点常量.

反编译该类并重新编译将无法正常工作,因为我已经尝试过这种方法,我会遇到很多依赖项错误,并且会出现名称错误.我怎样才能有效地解决这个问题?

谢谢

java bytecode editor class

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

在c#中限制程序集的权限

我正在用C#开发一个能够动态加载dll的应用程序.这些dll代表我的"应用程序".我想限制这些应用程序的权限.例如(我的一个主要问题)阻止访问光盘.因为我的应用程序正在使用我的主应用程序域的功能和实例,所以我不希望它们在单独的沙盒应用程序域中运行.

这还有可能吗?

c# permissions .net-assembly

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