问题列表 - 第38671页

如何在Mac App Store的应用中投放广告?

由于Mac上尚未提供AdMob或iAd,我们如何向Mac Apps添加广告?是否允许Adsense?或者还有其他可用的广告平台吗?谢谢.

macos ads app-store mac-app-store

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

C struct padding

我可以在各种编译器上使用pragma pack来强制结构具有不在其自然对齐上的字段.

这是递归的 - 所以假设struct typedef A包含typedef struct B的字段.如果使用pragma打包A将强制结构B打包?

c

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

.NET中的不可变集

.NET BCL是否具有不可变的Set类型?我正在编写一个C#的功能方言,并希望做类似的事情

new Set.UnionWith(A).UnionWith(B).UnionWith(C)
Run Code Online (Sandbox Code Playgroud)

但我能找到的最好的是HashSet.UnionWith,这将需要以下一系列调用:

HashSet composite = new HashSet();
composite.UnionWith(A);
composite.UnionWith(B);
composite.UnionWith(C);
Run Code Online (Sandbox Code Playgroud)

这种用途高度参考不透明,使其难以优化和理解.如果没有编写自定义功能集类型,有没有更好的方法呢?

c# functional-programming set immutability

6
推荐指数
2
解决办法
6240
查看次数

我无法在c ++字符串中添加新行

如何在c ++字符串中添加新行?我正在尝试读取文件但是当我尝试追加'\n'时它不起作用.

std::string m_strFileData;
while( DataBegin != DataEnd ) {
    m_strFileData += *DataBegin;
    m_strFileData += '\n';
    DataBegin++;
}
Run Code Online (Sandbox Code Playgroud)

c++ newline escaping

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

在状态菜单打开时更改状态菜单项的标题会导致我的Cocoa应用程序崩溃

好的,这个问题变得越来越复杂,所以我要把它完全划掉并重新开始.我设法创建了一个非常基本的Cocoa应用程序来演示我的问题.

所以这就是问题所在:

在线程内部,我在应用程序的状态栏菜单中设置菜单项的标题.当应用程序尝试更改菜单项的标题时,我打开了菜单,大部分时间它都可以工作,但有时会崩溃应用程序.

以下是示例应用的完整代码:

MenubarFailAppDelegate.h

#import <Cocoa/Cocoa.h>

@interface MenubarFailAppDelegate : NSObject <NSApplicationDelegate> {  
    IBOutlet NSMenu *statusMenu;
    NSStatusItem *statusItem;
    IBOutlet NSMenuItem *menuItem;

    int currentDelay;
}

@end
Run Code Online (Sandbox Code Playgroud)

MenubarFailAppDelegate.m

#import "MenubarFailAppDelegate.h"

@implementation MenubarFailAppDelegate

- (id)init {

    self = [super init];

    if (self != nil)
    {
        currentDelay = 0;
    }

    return self;    

}

- (void)awakeFromNib {

    // Create status menu item
    statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength] retain];
    [statusItem setMenu:statusMenu];
    [statusItem setTitle:@"Fail"];
    [statusItem setHighlightMode:YES];

    currentDelay = 3;
    [NSThread detachNewThreadSelector:@selector(changeStatusItemTitleLoopThread)
                             toTarget:self
                           withObject:nil]; 

}

- (void)changeStatusItemTitleLoopThread …
Run Code Online (Sandbox Code Playgroud)

crash cocoa objective-c

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

如何将关联索引添加到数组.C#

我有一系列自定义对象.例如,我希望能够通过特定的数据成员引用此数组myArrary["Item1"]

"Item1"实际上是存储在此自定义类型的Name属性中的值,我可以编写谓词来标记相应的数组项.但是我不清楚如何让数组知道我想使用这个谓词来查找数组项.

我想对这个数组使用字典或散列表或NameValuePair,并解决这个问题,但是它已经生成并且必须保持为CustomObj[].我也试图避免从这个数组加载一个字典,因为它会多次发生,并且可能有很多对象.

为了澄清

myArray[5] = new CustomObj() // easy!
myArray["ItemName"] = new CustomObj(); // how to do this? 
Run Code Online (Sandbox Code Playgroud)

以上可以做到吗?我真的只是在寻找类似于DataRow.Columns["MyColumnName"]工作方式的东西

感谢您的建议.

c# arrays

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

根据CPU架构选择MSI的安装程序(x86 32位,x64 64位等)

我有一个安装程序(Visual Studio安装项目),它使用DIFxApp和Orca转换来安装驱动程序.问题是有两个DIFxApp合并模块 - 一个用于x86,另一个用于x64.如果我同时引用它们,则安装仅适用于64位计算机,而仅引用x86版本允许我在32位计算机上安装.

似乎唯一的解决方案是创建两个MSI(一个用于x86,一个用于x64),每个都引用正确的合并模块.我的问题是我应该如何创建一个安装程序,根据目标机器的处理器选择安装哪个MSI?

我和NSIS一起工作过一段时间,所以走这条路可能最容易.其他可能性是Inno-SetupdotNetInstaller.

类似的问题(但答案不充分):

installer inno-setup nsis x86-64 32bit-64bit

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

C++中IsA()的重点是什么?

我试图找出为什么一些代码库使用IsA()来确定对象多态性,如果在C++中你已经可以安全地进行上传和下调(使用dynamic_cast)?

到目前为止,我认为唯一有用的案例是当你整合一个链接到c ++代码库的脚本环境时?

谢谢!

c++ polymorphism

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

是否有理由更喜欢数据挖掘项目的函数式编程?

我正在研究启动数据挖掘项目的可能性,该项目将包括密集计算和数据转换,并且应该相对容易扩展.

根据您的经验,选择对该项目至关重要的编程语言?

例如,如果我已经在JVM环境中工作,我是否应该更喜欢Clojure而不是普通的Java?功能环境是否保证更容易扩展?更好的性能?

抛开其他因素,如熟悉语言,工具链等.在您的经验中,语言的选择是否至关重要?

java programming-languages functional-programming clojure data-mining

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

保留预处理器定义

可能重复:
我可以重新定义C++宏然后再定义它吗?

假设我有一些使用BLAH变量名称的代码.假设BLAH在许多标准头文件(定义为10)中是一个常见的预处理器定义,所以如果我的文件包含在其中任何一个之后,代码就会因为BLAH转换为10而中断; 因此,我必须#undef BLAH.但是其他标头也可能依赖于BLAH,所以我必须BLAH在标头完成后恢复到它的原始值.有可能做这样的事情:

#ifdef BLAH
#define BLAH_OLD BLAH
#undef BLAH
#endif

... code ...

// restore BLAH to 10
#ifdef BLAH_OLD
#define BLAH BLAH_OLD
#end
Run Code Online (Sandbox Code Playgroud)

?这当然不起作用,因为BLAH没有扩展到10.我尝试过做类似的事情

#define EXPAND_AGAIN(x) x
#define EXPAND(x) EXPAND_AGAIN(x)
#define BLAH_OLD EXPAND(BLAH)
Run Code Online (Sandbox Code Playgroud)

但这也不起作用,因为EXPAND是字面意义而不是扩展.我正在使用MSVC 2008/2010,但如果该解决方案也适用于大多数其他编译器,那将是可爱的.

c++ save c-preprocessor

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