小编Bre*_*ett的帖子

带有ARC的POSIX回调和NSAutoreleasePool

根据这个Apple 页面,我已经读过,当我在POSIX线程上与Cocoa进行交互时,我应该创建一个NSAutoreleasePool.

如果您在Application Kit的主线程之外进行Cocoa调用 - 例如,如果您创建仅基于Foundation的应用程序,或者如果您分离线程 - 您需要创建自己的自动释放池.

不幸的是,NSAutoreleasePool在ARC中不允许使用.

那么我该怎么做才能保证任何ARC代码都有自动释放的可用池?

谢谢!

posix objective-c nsautoreleasepool automatic-ref-counting

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

PowerShell 2 中 sc start ... 和 Start-Service ... 之间的区别

我在同一台机器上安装了几个不同的服务。我正在编写一个 PowerShell 2 脚本来启动和停止它们。

对于某些服务,我可以使用Start-Service -displayname "the service"它来成功启动它。在其他情况下,使用Start-Servicecmdlet 会导致“无法在计算机上启动服务...'.'”的原因和错误。

在我使用Start-Servicecmdlet出现错误的情况下,sc start "the service"总是成功。

反之亦然(虽然sc start不返回任何错误——它只是根本不启动服务。)

这些命令之间有什么区别吗?是否有我应该使用的替代命令?最后,我可以从 cmdlet 中“捕获”任何错误,并且只包含两个命令以涵盖所有基础吗?

这个问题对我来说是可重复的,即使我卸载并重新安装服务。

谢谢!

service windows-server-2003 powershell-2.0

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

Interface Builder文件中的未知类

为什么我在运行iPhone应用程序时仍会出现此错误?该文件是我一直在努力删除和替换的ViewController,但它不会死.据我所知,我的项目中没有任何引用(字符串或其他)此文件.

  • 我删除了相关文件(我正试图摆脱它.)
  • 我已经清理了项目并重建了.
  • 我在我的模拟器中有"重置内容和设置".
  • 我做了一个grep(grep -i -r"TheClassName"*),除了我的UserInterfaceState.xcuserstate文件之外什么都没有.
  • 我使用XCode的"查找/替换"选项卡搜索了代码.
  • 我已经仔细检查了我的Build Phases,我很确定它不在那里(它是一个大型项目).

还有其他想法吗?我花了太多时间试图弄清楚这个简单的事情; 我肯定错过了什么.

谢谢!

iphone xcode

4
推荐指数
2
解决办法
9794
查看次数

-1.0和1.0之间的双倍精度是多少?

在我看过的一些音频库中,音频样本通常表示为double或float,范围为-1.0到1.0.在某些情况下,这很容易让分析和综合代码抽象出底层数据类型实际可能是什么(签名long int,unsigned char等).

假设IEEE 754,我们的密度不均匀.随着数量接近零,密度增加.这意味着我们对接近-1和1的数字的精度较低.

如果我们可以为我们要转换的基础数据类型表示足够数量的值,则此非均匀数密度无关紧要.

例如,如果底层数据类型是unsigned char,我们只需要介于-1和1(或8位)之间的256个值 - 使用double显然不是问题.

我的问题是:我有多少精度?我可以安全地转换为32位整数,而不会丢失吗?为了扩展这个问题,在没有丢失的情况下,安全地转换为32位整数/从32位整数转换的值必须是多少?

谢谢!

c precision double casting

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

IntelliJ 中的逻辑文件组/文件夹

我刚刚创建了一个项目,我立即注意到我似乎无法右键单击 src 文件夹并在项目视图中创建逻辑文件组/文件夹。

在许多 IDE 中,我可以任意地将源文件组织在组/文件夹中。这些分组帮助我适当地组织我的业务流程和数据访问层。

我如何在 IntelliJ 中做同样的事情?

ide intellij-idea

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

将变量放在objective-c中的实现中

在以下代码段中:

@implementation Foo
NSString* bar = @"Some text.";

...

@end
Run Code Online (Sandbox Code Playgroud)

bar一个静态变量,还是某种类或实例变量?具体来说,它与执行以下操作有何不同:

static NSString* bar = @"Some text.";
@implementation Foo

...

@end
Run Code Online (Sandbox Code Playgroud)

cocoa static objective-c

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

Linux/OSX时钟分辨率,毫秒精度?

在Windows上,我可以调用QueryPerformanceCounter来获取高分辨率数据点,但这种方法调用会受到BIOS,多核CPU和某些AMD芯片问题的影响.我可以调用timeBeginPeriod将Windows中的系统时钟分辨率提高到1ms(而不是标准的〜15ms),这意味着我只能使用调用timeGetTime并获得我指定的时钟分辨率的时间.

所以!在OSX/Linux上,我应该期待什么C++时钟分辨率?我能获得与Windows类似的1ms分辨率吗?由于我正在做实时媒体,我希望这个时钟分辨率尽可能低:我可以在内核中更改这个值(比如在Windows中使用timeBeginPeriod)吗?这是一个高性能的应用程序,所以我想让当前时间成为一个快速的函数调用.而且我想知道时钟是否会漂移或者我可以期待什么奇怪的问题.

谢谢!布雷特

c++ linux macos time

0
推荐指数
1
解决办法
1963
查看次数

持有void*/pointer的Objective-C数据类型是什么?

我正在调用一个C方法,它返回一个指针或'句柄'到资源.我只需要保留void*以便稍后再次传递它.

在.NET中,我可能会使用IntPtr.IntPtr和只是一个int之间的唯一区别 - 除了使指针成为更强类型的变量 - 是IntPtr自动是平台的大小(32或64位).我在Objective-C中寻找同样的东西.

是否有一些等效的方法来包装Objective-C中的指针?

pointers objective-c

0
推荐指数
1
解决办法
387
查看次数

使用宏来构造函数

可能重复:
用于在C中连接两个字符串的宏

我有一个看起来像这样的函数:

bool module_foo_process(void* bar) { return doMagic(bar); }
Run Code Online (Sandbox Code Playgroud)

现在,我想用宏生成它.例如,上述函数的宏看起来像这样:

MY_AMAZING_MACRO(foo)
Run Code Online (Sandbox Code Playgroud)

这允许我写下这样的东西:

MY_AMAZING_MACRO(awesome)
Run Code Online (Sandbox Code Playgroud)

得到这个:

bool module_awesome_process(void* bar) { return doMagic(bar); }
Run Code Online (Sandbox Code Playgroud)

关于如何在C中实现这一点的任何想法?

c macros c-preprocessor

0
推荐指数
1
解决办法
149
查看次数