小编nac*_*o4d的帖子

如何知道当前架构是mac中的i386还是x86_64?(Xcode中)

我正在处理一个在不同架构中需要不同参数的相机,是否有一个标志我可以检查我的mac是32位还是64位?我试过这个但似乎不起作用,我总是得到32位!:

#if defined(PER_ARCH_CFLAGS_x86_64)
    NSLog(@"64bit!!");
#else 
    NSLog(@"32Bits!!");
#endif  
Run Code Online (Sandbox Code Playgroud)

macos xcode objective-c

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

标准C++中的异步线程

我想知道如何在标准C++中实现异步调用.

我有一个图像/视频处理程序,我想添加另一个功能/功能,但我希望它在另一个线程中运行或异步运行到原始线程.

我只是想在这个新线程中发生某些事情时通知主线程.(这不会总是发生,并且主线程没有理由等待这个新进程结束.因此我更喜欢异步调用,如果这比多线程编程更简单)

我希望我走在正确的道路上.

提前致谢.

伊格纳西奥.

更新:目前我还没有使用任何线程库,因为到目前为止我还不需要它.我在Boost中思考......这是个好主意吗?我应该从哪里开始如果我想开始一些异步调用?

c++ multithreading asynchronous

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

如何编写XML文件?

我想在我的应用程序中编写一个不那么复杂但很大的文件,并且能够通过邮件发送它(使用MFMailComposeViewController)因为NSXMLElement和相关的类没有移植到iPhone SDK,我有什么选择来创建XML文档?提前致谢.

xml iphone cocoa-touch xmlwriter

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

const和c ++中没有const方法?

我有一个程序,它的许多类都有一些带有关键字const的运算符和方法,如下所示:

operator const char* () const;
operator char* ();
void Save(const char *name) const;
void Load(const char *name);
Run Code Online (Sandbox Code Playgroud)

第一:在方法声明结束时它是什么意思?是什么意思就像把它放在开头一样?

第二:为什么需要const版本和不需要const版本的operator()?

提前致谢.

c++ const-correctness

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

在多线程编程中使原子成为BOOL标志是否有意义

我对多线程编程很陌生,并想知道它是否正常或者是否有类似的属性

@property BOOL shouldDoIt; //atomic
Run Code Online (Sandbox Code Playgroud)

它将用于在后台调用的循环中

- (void) loop{
    // ... do stuff ...
    if (self.shouldDoIt) {
        [self doIt];
        self.shouldDoIt = NO;
    }
    // ... do more stuff ...
}
Run Code Online (Sandbox Code Playgroud)

并在从主线程调用的方法中更改

- (void) methodCalledFromMainThread{
    self.shouldDoIt = YES;
}
Run Code Online (Sandbox Code Playgroud)

必须使其原子化或不改变任何东西吗?我知道原子与非原子相比速度慢,我的程序需要更快的速度,但如果不使用原子那么做if (shouldDoIt){ 可能会失败?

cocoa multithreading atomic objective-c

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

Makefile干净,不删除*.o文件?

我想知道为什么这不会删除/清除运行make时生成的*.o文件?

# UNIX Makefile

CXX = g++
LD  = g++
CXXFLAGS = -g

testlfunction: lfunction.o lfunctionlist.o lprocessor.o testlfunction.o
    $(LD) -o $@ $^

clean:
    rm *.o testlfunction
Run Code Online (Sandbox Code Playgroud)

在它用之前

$(RM) *.o testlfunction
Run Code Online (Sandbox Code Playgroud)

但它也不起作用;(

为什么是这样?

makefile

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

动态添加方法

我正在尝试在Obj-c运行时引用中找到此方法

BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types)
Run Code Online (Sandbox Code Playgroud)

我想添加一个新的方法,如:

- [AClass drawWithFrame:(NSRect)rect inView:(id)view]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经编写了一个C函数:

void drawWithFrameInView(id this, SEL this_cmd, NSRect frame, id view){
...
} 
Run Code Online (Sandbox Code Playgroud)

现在我准备做了:

BOOL success = class_addMethod(NSClassFromString(@"AClass"), 
                               @selector(drawWithFrame:inView:), 
                               (IMP)drawWithFrameInView, 
                               "v@:@:@:");
Run Code Online (Sandbox Code Playgroud)

但是success从来没有,我尝试了同样的方法,使用更简单的签名方法,并且它有效.所以我认为问题是最后一个参数:"v@:@:@:"

在这种情况下我应该通过什么才能使我的新方法有效?

cocoa objective-c objective-c-runtime

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

在git add中显示更多上下文

例如,使用git-diff,当显示diff时,我可以执行以下操作以显示10条周围的上下文线。

git diff -U10
Run Code Online (Sandbox Code Playgroud)

我可以用git-add --patch做类似的事情吗?理想情况下,我想:

git add -p -U10
Run Code Online (Sandbox Code Playgroud)

但是我没有找到这样的选择。有没有这样的东西?

git

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

使用和不使用默认参数声明的调用函数会导致不同的结果?

我在操场上编写了用于测试(学习)目的的代码:

import Cocoa
func DoIt(a: Int, b: Int, c :Int = 0) -> Int {
    return a + b + c;
}
func DoIt(a: Int, b: Int, c :NSObject) -> Int {
    return a * b * c.description.lengthOfBytesUsingEncoding(NSUTF8StringEncoding);
}
Run Code Online (Sandbox Code Playgroud)

当我使用它时,我得到了这个:

DoIt(4, 5, 6);            // result: 20
var obj = NSObject();     // result: NSObject
DoIt(4, 5, obj);          // result: 520
Run Code Online (Sandbox Code Playgroud)

我期待第一个函数DoIt(Int, Int, Int)在执行时DoIt(4, 5, 6);被调用,但显然正在调用另一个函数.6去哪儿了?看起来它6被隐含地转换成了一个NSObject目标-c,它至少会引发警告.
为什么是这样?

奇怪的是,如果我最后c: Int需要(通过删除= …

swift

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

什么是C++中最基本的类

我希望这个问题不是太傻,但标准C++中最基本的类是什么?宾语?宾语?

class MyObject : public object{  ...
Run Code Online (Sandbox Code Playgroud)

我得到"令牌之前的预期类名"

是否有显示标准c ++类继承的地图,图表或图像? 这样的东西,但对于C++

c++ objective-c objective-c++

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