我的问题可以分为三个:
是否可以通过以下方式隐藏/删除Eclipse(3.6)中的任意上下文菜单项...
我没有找到通过方法1和方法2来实现这一目标的方法.如果唯一的选择是创建自定义插件,那么是否有人可以将我推向正确的方向从哪里开始(我有一些Java经验,但不是在Eclipse插件中插件).
如何在C中编程软件中断?我知道需要编写一个中断服务程序,然后中断CPU以便可以调用例程,但我不知道如何在C中执行该操作.此外,我不知道如何使用中断描述符注册该例程表.我有一个x86-64 CPU(AMD Turion64 X2),我正在使用gcc编译器.任何帮助,将不胜感激.
我正在使用MVVM,ViewModel层提供自定义ICommand对象.一个ViewModel对象可以通过DataContext属性连接到许多View对象(窗口,页面等).在ICommand.CanExecute()中,我想检查View中某些控件的缺省验证错误(附加到ViewModel道具,对于特定的VM命令很重要).一个ViewModel可以提供许多命令,每个命令都有自己的一组控件用于错误验证验证.所以,伪XAML是:
<Button.CommandParameter>
<x:Array Type="sys_win:DependencyObject">
<sys_win:DependencyObject>
<reference_to_textbox_or_other_control/>
</sys_win:DependencyObject>
<sys_win:DependencyObject>
<reference_to_textbox_or_other_control/>
</sys_win:DependencyObject>
</x:Array>
</Button.CommandParameter>
Run Code Online (Sandbox Code Playgroud)
第二个问题是特定命令可能由控件调用,控件本身是DataTemplate for collection项的一部分(在我的例子中是ListBoxItem数据模板的一部分).我的模板化列表框项目有两个文本框(绑定到相应ViewModel的两个道具)和按钮,它们调用ViewModel命令.因此,在命令CanExecute()中,我需要检查某些窗口控件和两个文本框的验证错误,这两个文本框属于此列表项,而不是其他项.如果我想将ListBoxItem.IsSelected属性作为CommandParameter传递,下面的代码工作正常:
<Button DataContext="{Binding}"
Command="{Binding Path=SwitchCommand}"
CommandParameter="{Binding Path=IsSelected, RelativeSource={
RelativeSource
Mode=FindAncestor,
AncestorType={x:Type ListBoxItem}}}"/>
Run Code Online (Sandbox Code Playgroud)
但是如何将整个(DependencyObject)ListBoxItem作为CommandParameter传递?以及如何通过{Binding RelativeSource}传递的ListBoxItem可以与第一个代码示例中的其他当前窗口控件混合使用?
我很抱歉,但是如何在xaml中添加对控件的引用?
<Button.CommandParameter>
<x:Array Type="sys_win:DependencyObject">
<sys_win:DependencyObject>
<reference_to_textbox_or_other_control/>
</sys_win:DependencyObject>
<sys_win:DependencyObject>
<reference_to_textbox_or_other_control/>
</sys_win:DependencyObject>
</x:Array>
</Button.CommandParameter>
Run Code Online (Sandbox Code Playgroud) 有些函数将@selector(methodName)作为参数.我使用NSLog来查找@selector是什么,并返回一个整数.它看起来像一个PID,但是当我运行ps ax时,无法找到PID.这个整数表示什么,为什么我们必须一直使用@selector而不是只传递方法名?
多种颜色NSString或NSMutableStrings不可能.所以我听说过一些关于iPad SDK 3.2(或3.2左右)NSAttributedString引入的内容,并且可以在iPhone SDK 4.0 beta版的iPhone上获得.
我想要一个有三种颜色的字符串.
我不使用3个单独的NSStrings的原因是因为三个NSAttributedString子串中的每个子串的长度经常变化,所以我更喜欢,不使用任何计算来重新定位3个单独的NSString对象.
如果可以使用NSAttributedString我如何进行以下操作 - (如果不能使用NSAttributed字符串,你会怎么做):

编辑:
请记住,@"first",@"second"并@"third"会在任何时间其他字符串替换.因此,使用硬编码的NSRange值将不起作用.
我目前正在学习如何在C++中进行多线程处理.我的一个学习项目是俄罗斯方块游戏.在这个项目中,我有一个包含所有游戏状态数据的Game类.它有移动块的方法和其他一些东西.用户(将使用箭头键从主线程移动块)访问此对象,同时线程计时器在活动块上实现重力(定期降低它).
起初我以为我可以通过添加互斥成员变量并将其锁定在每个方法调用中来使Game类线程安全.但问题是它只保护单个方法调用,而不是涉及多个方法调用的更改.例如:
// This is not thread-safe.
while (!game.isGameOver())
{
game.dropCurrentBlock();
}
Run Code Online (Sandbox Code Playgroud)
我尝试的一个解决方案是为互斥变量添加一个访问器方法,以便从外部锁定它:
// Extra scope added to limit the lifetime of the scoped_lock.
{
// => deadlock, unless a recursive mutex is used
boost::mutex::scoped_lock lock(game.getMutex());
while (!game.isGameOver())
{
game.dropCurrentBlock();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,除非使用递归互斥锁,否则这将会死锁.现在,看看StackOverflow 上的一些 帖子,似乎有多数人强烈反对使用递归互斥锁.
但是,如果递归互斥锁是非选项,那么这是否意味着创建一个线程安全类(支持协调更改)变得不可能?
唯一有效的解决方案似乎是永远不会在方法调用中锁定互斥锁,而是始终依赖用户从外部进行锁定.
但是,如果是这种情况,那么简单地将Game类保持原样不是更好,并创建一个将Game对象与互斥锁配对的包装类?
我尝试了包装器的想法并创建了一个名为ThreadSafeGame(cpp)的类,如下所示:
class ThreadSafeGame
{
public:
ThreadSafeGame(std::auto_ptr<Game> inGame) : mGame(inGame.release) {}
const Game * getGame() const
{ return mGame.get(); }
Game * getGame()
{ return mGame.get(); …Run Code Online (Sandbox Code Playgroud) 我来自一个迫切的背景,但这些天我在LISP(普通LISP)上尝试
我读到这里大约cons是
(cons x L):
给定LISP对象x和列表L,求值(cons x L)创建一个包含x的列表,后跟L中的元素.
当我故意不使用列表作为第二个参数时,即我使用时
(cons 'a 'a)我期待一个错误,但哇!我有(A . A).
我错过了什么,是 (A . A)什么?
是否有可能说"可拖动的div - >没有重叠"?
我认为主要问题是:绝对; ... 对?
善待彼得
在这个网站上,他们说有10个LISP原语.原语是:atom, quote, eq, car, cdr, cons, cond, lambda, label, apply.
http://hyperpolyglot.wikidot.com/lisp#ten-primitives
Stevey估计有七个(或五个):
它是LISP概念纯度的一部分:你只需要七个(或五个?)原语来构建整个机器. http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html
构建LISP机器的最小基元数是多少(即可以在LISP代码上运行eval/value函数的东西)?(他们是哪一个?)
(我明白你可以没有生活atom, label and apply)
为了使字符串成为空字符串我写了这个:
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
char str[15]="fahad uddin";
strlen(str);
puts(str);
for(int i=0;str[i]!='\0';i++)
strcpy(&str[i],"\0") ;
puts(str);
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在此之前,我试过:
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
char str[15]="fahad uddin";
strlen(str);
puts(str);
for(int i=0;str[i]!='\0';i++,strcpy(&str[i],"\0"))
;
puts(str);
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在第一个示例中,程序运行正常,而在第二个示例中,它打印字符串的第一个字母(在此示例中为F).为什么是这样?
c ×2
common-lisp ×2
lisp ×2
c# ×1
c++ ×1
clojure ×1
cocoa ×1
cocoa-touch ×1
cons ×1
contextmenu ×1
draggable ×1
eclipse ×1
eclipse-3.6 ×1
for-loop ×1
interrupt ×1
ios ×1
ios4 ×1
jquery ×1
objective-c ×1
primitive ×1
scheme ×1
textcolor ×1
wpf ×1
xaml ×1