在C lib中,有一个函数在等待函数指针,这样:
lasvm_kcache_t* lasvm_kcache_create(lasvm_kernel_t kernelfunc, void *closure)
Run Code Online (Sandbox Code Playgroud)
其中lasvm_kernel_t定义为:
typedef double (*lasvm_kernel_t)(int i, int j, void* closure);
Run Code Online (Sandbox Code Playgroud)
现在,如果我将类中定义的方法发送到lasvm_kcache_create:
double cls_lasvm::kernel(int i, int j, void *kparam)
...
lasvm_kcache_t *kcache=lasvm_kcache_create(&kernel, NULL);
Run Code Online (Sandbox Code Playgroud)
我得到:"无法将'double(cls_lasvm :: )(int,int,void)'转换为'double()(int,int,void)'"
我该怎么办?
我正在使用opengl es iphone应用程序.计算性能调优应用程序每秒帧数的最准确方法是什么?
我有一些代码基本上显示了给定表中的最后一个x(变量,但是假设x在这里是20).在其中一个单元测试中,我有这个片段:
EditedItem.push_to_queue(hiddennow)
#create some new entries and save them
20.times{ EditedItem.push_to_queue(random_item) }
Queue.get_entries.each{|entry| assert_not_equal too_far_down, entry}
Run Code Online (Sandbox Code Playgroud)
可能是也可能不是很漂亮,但它有意图.hiddennow对象已在队列中被推下太远,并且在调用get_entries时不应再返回.
#this works
SearchObject.find(:all, :order => "id desc")
#this does not, unless the 20.times loop has sleep(1) or something
SearchObject.find(:all, :order => "created_at desc")
Run Code Online (Sandbox Code Playgroud)
这简化了一点,但看起来像20次循环添加的东西足够快,以至于created_at上的order by子句无法区分.我的问题是,我做了一些根本错误的事情吗?如果没有,沿着这些方向编写测试的更好方法是什么?
我以为我在这里做的是正确的,但我从构建和分析中得到了一些警告,所以现在我不太确定.我的假设是(a)我从函数中获取的对象(在这种情况下为dateFromComponents:)已经设置为自动释放,(b)我应该从函数返回的对象设置为autorelease.因此,在将其返回给调用者之前,我不需要发送自动释放或保留dateFromComponents的结果:是对的吗?
作为旁注,如果我将我的函数从newTimeFromDate重命名为:gnuTimeFromDate,分析器不会对此函数发出任何警告.是所有"new*"方法返回保留而不是自动释放的对象的约定?
在Cocoa的内存管理编程指南中,它说"收到的对象通常保证在收到它的方法中保持有效",并且"该方法也可以安全地将对象返回给它的调用者".这让我相信我的代码是正确的.
但是,在Cocoa的内存管理中,它说"假设通过任何其他方法获得的对象的保留计数为1并驻留在自动释放池中.如果要保持超出当前执行范围,则必须保留它. " 这让我觉得我需要在返回NSDate对象之前进行保留.
我正在使用针对iPhone SDK 3.1.2的10.6.2上的Xcode 3.2.1进行开发.
构建/分析输出的屏幕截图http://nextsprinter.mggm.net/Screen%20shot%202009-11-15%20at%2008.33.00.png
如果您在阅读屏幕截图时遇到问题,请输入以下代码:
//============================================================================
// Given a date/time, returns NSDate for the specified time on that same day
//============================================================================
+(NSDate*) newTimeFromDate:(NSDate*)fromDate
Hour:(NSInteger)hour
Minute:(NSInteger)min
Second:(NSInteger)sec
{
NSCalendar* curCalendar = [NSCalendar currentCalendar];
const unsigned units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents* comps = [curCalendar components:units fromDate:fromDate];
[comps setHour: hour];
[comps setMinute: min];
[comps setSecond: sec];
return [curCalendar dateFromComponents:comps];
}
Run Code Online (Sandbox Code Playgroud) 我需要将所有*.as文件的内容放在一个指定的文件夹中.
我怎么能在Linux shell中做到这一点?
我正在学习AS3,对于静态变量或方法的作用,或者它与没有此关键字的方法或变量的区别,我感到有点困惑.我认为这应该足够简单回答.
我有NSMutableArray,其中包含不同类的不同对象.现在我想获取类名,相关内容,并检查相应的对象是否为NSString.我该怎么办呢?
我正在尝试类似以下内容.它当然不起作用.
for(NSString *string in array){
NSLog(@"Name of the class : %@", [NSString stringWithCString:class_getName(Class id)];
Run Code Online (Sandbox Code Playgroud) 我有一本字典.
{1 : [1.2, 2.3, 4.9, 2.0], 2 : [4.1, 5.1, 6.3], 3 : [4.9, 6.8, 9.5, 1.1, 7.1]}
Run Code Online (Sandbox Code Playgroud)
我想将每个键:值对传递给matplotlib.pyplot两个列表的实例:x值和y值.
每个键都是与其值中的每个项相关联的x值.
所以我希望每个键有两个列表:
[1,1,1,1] [1.2,2.3,4.9,2.0]
[2,2,2] [4.1,5.1,6.3]
[3,3,3,3,3] [4.9,6.8,9.5,1.1,7.1]
Run Code Online (Sandbox Code Playgroud)
有一种优雅的方式来做到这一点?
或者也许有办法将词典传递给matplotlib.pyplot?
我正在尝试绑定到动态生成的控件集合:
<ItemsControl ItemsSource="{Binding CustomFields}">
Run Code Online (Sandbox Code Playgroud)
和代码:
public ObservableCollection<Control> CustomFields
{
get
{
return GetCustomFields();
}
}
Run Code Online (Sandbox Code Playgroud)
Getcustomfields只生成一些控件,如ComboBox,文本框等.绑定似乎工作,但窗口不显示我的任何控件.可能是因为我需要在itemscontrol中使用datatemplate.我的问题是我需要什么样的数据模板?
谢谢你的帮助
这似乎是之前必须回答的问题,但我在问题档案中找不到任何合适的内容.基本上,我正在寻找一个领域特定语言来创建流程图.我在平面设计方面很糟糕,并且让事情看起来很漂亮,而且我真的很喜欢我可以在代码中编写内容的语言,它会产生一个漂亮的流程图.我遇到过GraphViz,但它似乎更适合创建有限状态机图表之类的东西,而不是处理流程图.它也没有简单的DSL风格的前端,可以让我轻松地工作.
有任何想法吗?
iphone ×2
objective-c ×2
c++ ×1
cocoa ×1
cocoa-touch ×1
data-binding ×1
dsl ×1
flowchart ×1
itemscontrol ×1
linux ×1
mysql ×1
opengl ×1
python ×1
ruby ×1
shell ×1
unit-testing ×1
wpf ×1