小编w-m*_*w-m的帖子

如何从Apple事件中获取源应用程序?

当另一个应用程序要求我的应用程序打开文件时,我需要找出哪个应用程序是源,因为采取了不同的操作过程.在

- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames
Run Code Online (Sandbox Code Playgroud)

代码目前是:

NSAppleEventDescriptor *currentEvent = [[NSAppleEventManager sharedAppleEventManager] currentAppleEvent];
NSAppleEventDescriptor *addrDesc = [currentEvent attributeDescriptorForKeyword:keyAddressAttr];
NSData *psnData = [[addrDesc coerceToDescriptorType:typeProcessSerialNumber] data];
const ProcessSerialNumber * PSN = [psnData bytes];
NSDictionary * info = nil;
// Same process check
ProcessSerialNumber currentPSN;
GetCurrentProcess(&currentPSN);
Boolean samePSN = FALSE;
if(PSN && noErr == SameProcess(&currentPSN, PSN,  &samePSN) && !samePSN)
{
    info = [(NSDictionary *) ProcessInformationCopyDictionary(PSN, kProcessDictionaryIncludeAllInformationMask) autorelease];
}
Run Code Online (Sandbox Code Playgroud)

这似乎总是很好.但是现在(工作在10.6.4)我发现在某些情况下我得到了错误的PSN,有时导致信息为零,其他时候包含

BundlePath = "/System/Library/CoreServices/CoreServicesUIAgent.app";
CFBundleExecutable = "/System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent";
CFBundleIdentifier = "com.apple.coreservices.uiagent";
CFBundleName = CoreServicesUIAgent;
CFBundleVersion = …
Run Code Online (Sandbox Code Playgroud)

macos objective-c event-handling

7
推荐指数
1
解决办法
658
查看次数

Mac“中止” OpenCV Python脚本

所以我只是试图运行基本的OpenCV程序

    import numpy as np
    import cv2

    cap = cv2.VideoCapture(0)

    while(True):
        # Capture frame-by-frame
        ret, frame = cap.read()

        # Our operations on the frame come here
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)

        # Display the resulting frame
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    # When everything done, release the capture
    cap.release()
    cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因,当我尝试运行它(使用python 2或3)时,我得到了这个奇怪的中止语句

    [1]    74309 abort      python3 index.py
Run Code Online (Sandbox Code Playgroud)

(我猜5位数是PID),但是,如果我在VideoCapture函数中传递到现有视频的路径,则它确实可以工作。我是所有这方面的初学者,所以我不确定是什么问题

谢谢 :)

python opencv macos-mojave

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

将Texture Cache/Image2D用于2D阵列的缺点是什么?

在全局内存中访问2D数组时,使用纹​​理缓存有许多好处,例如过滤,而不必关心内存访问模式.CUDA编程指南只是命名一个缺点:

但是,在同一内核调用中,纹理缓存与全局内存写入不保持一致,因此任何纹理提取到通过同一内核调用中的全局写入写入的地址都会返回未定义的数据.

如果我不需要,因为我从不写入我读取的内存,使用纹理缓存(或Image2D,因为我在OpenCL中工作)而不是普通全局时,是否有任何缺点/陷阱/问题记忆?是否有任何情况下我会通过使用纹理缓存失去性能?

memory optimization textures cuda opencl

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

CUDA,漂浮精度

我在Geforce GTX 580(Fermi)上使用CUDA 4.0.我的数字小到7.721155e-43.我想将它们相互增加一次或者更好地说我想计算7.721155e-43*7.721155e-43.

我的经验告诉我,我不能直接做到这一点.你能给我一个建议吗?我需要使用双精度吗?怎么样?

floating-point precision cuda gpu

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