如何运行必须在所有其他makefile命令之前执行的脚本?如果没有什么可构建的话,脚本的执行会很好(但不是强制性的).
我搜索了SO和谷歌,但找不到任何东西.
我有这个解决方法:
# myscript.bat output is empty
CHEAT_ARGUMENT = (shell myscript.bat)
CFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
AFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
Run Code Online (Sandbox Code Playgroud)
但它非常难看.还有其他方法可以在makefile中运行" pre-build step " 吗?
我在哪里可以找到有关常见SIMD技巧的信息?我有一个指令集,知道如何编写非棘手的SIMD代码,但我知道,SIMD现在功能更强大.它可以保存复杂的条件无分支代码.
例如(ARMv6),以下指令序列将Rd的每个字节设置为等于Ra和Rb的相应字节的无符号最小值:
USUB8 Rd, Ra, Rb
SEL Rd, Rb, Ra
Run Code Online (Sandbox Code Playgroud)
教程/非常见SIMD技术的链接也很好:) ARMv6对我来说是最有趣的,但x86(SSE,...)/ Neon(在ARMv7中)/其他也很好.
问题:在某些情况下UITextView默默地改变它contentSize.
最简单的案例textView与大文本和键盘.只需添加UITextView插座并设置- viewDidLoad为:
- (void)viewDidLoad {
[super viewDidLoad];
// expand default "Lorem..."
_textView.text = [NSString stringWithFormat:@"1%@\n\n2%@\n\n3%@\n\n4%@\n\n5", _textView.text, _textView.text, _textView.text, _textView.text];
_textView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;
_textView.contentInset = UIEdgeInsetsMake(0, 0, 216, 0);
}
Run Code Online (Sandbox Code Playgroud)
现在显示和隐藏键盘会在某些情况下导致文本跳转.
我已经找到了按子类跳转的原因UITextView.我的子类中唯一的方法是:
- (void)setContentSize:(CGSize)contentSize {
NSLog(@"CS: %@", NSStringFromCGSize(contentSize));
[super setContentSize:contentSize];
}
Run Code Online (Sandbox Code Playgroud)
它显示contentSize了键盘隐藏的缩小和扩展.像这样的东西:
013-09-16 14:40:27.305 textView-bug2[11087:a0b] CS: {320, 651}
2013-09-16 14:40:27.313 textView-bug2[11087:a0b] CS: {320, 885}
2013-09-16 14:40:27.318 textView-bug2[11087:a0b] CS: {320, 902}
Run Code Online (Sandbox Code Playgroud)
看起来UITextViewiOS7中的行为发生了很大变化.有些事情现在已经破裂了.
进一步发现我发现layoutManagertextView的新属性也发生了变化.现在日志中有一些有趣的信息:
2013-09-16 14:41:59.352 textView-bug2[11115:a0b] CS: …Run Code Online (Sandbox Code Playgroud) 嗨!
我使用了以下C宏,但在C++中它无法自动转换void*为type*.
#define MALLOC_SAFE(var, size) { \
var = malloc(size); \
if (!var) goto error; \
}
Run Code Online (Sandbox Code Playgroud)
我知道,我可以这样做:
#define MALLOC_SAFE_CPP(var, type, size) { \
var = (type)malloc(size); \
if (!var) goto error; \
}
Run Code Online (Sandbox Code Playgroud)
但我不想重写大部分代码,MALLOC_SAFE使用的地方.
有没有办法在没有给宏的类型的情况下这样做?也许一些MSVC 2005 #pragma/__declspec/其他?
ps:我不能使用C编译器,因为我的代码是大项目的一部分(数百个模块之一).现在它是在C++上.我知道,我可以单独构建我的代码.但这是旧代码,我只是想快速移植它.
问题是关于void*cast;)如果不可能,我只需用MACRO_SAFE_CPP替换MACRO_SAFE
谢谢!
我存储了一堆以下内容
struct Article {
std::string title;
unsigned db_id; // id field in MediaWiki database dump
};
Run Code Online (Sandbox Code Playgroud)
在Boost.MultiIndex容器中,定义为
typedef boost::multi_index_container<
Article,
indexed_by<
random_access<>,
hashed_unique<tag<by_db_id>,
member<Article, unsigned, &Article::db_id> >,
hashed_unique<tag<by_title>,
member<Article, std::string, &Article::title> >
>
> ArticleSet;
Run Code Online (Sandbox Code Playgroud)
现在我有两个迭代器,一个来自index<by_title>,一个来自index<by_id>.将这些索引转换为容器的随机访问部分的最简单方法是什么,而不添加数据成员struct Article?
嗨!
我有一些PDA(Windows Mobile)来测试我的应用程序.其中一个是HTC Touch Dual,它在调试方面有一些缺陷.我可以使用另一个ARMv6设备,但它距离很远.所以我不能使用USB线,但可以使用TCP/IP(互联网,而不是内联网).
您知道吗,我如何连接远程Windows移动设备来调试应用程序呢?
我们尝试了不同的方法,现在我们知道了:
我检查过以下内容:
我认为,没有ActiveSync的VPN和PDA连接非常接近远程调试,但它出了问题.也许我现在只需要睡一觉:)
问题是:
谢谢.
debugging remote-debugging windows-mobile windows-ce visual-studio
我前段时间在SO上找到了有关此功能的信息,但主题是Visual Studio的隐藏功能(2005-2008)的副本?我再也找不到了.
我想用这样的东西:
#ifdef DEBUG
#define break_here(condition) if (condition) ... // don't remember, what must be here
#else
#define break_here(condition) if (condition) return H_FAIL;
#endif
//...
hresult = do_something(...);
break_here(hresult != H_OK);
//...
var = do_other_thing(...);
break_here(var > MAX_VAR);
Run Code Online (Sandbox Code Playgroud)
它必须表现得像一个错误的断点.这就像断言,但没有对话,更轻量级.
我不能在这里使用普通断点,因为我的模块是几个项目的一部分,可以在几个VS解决方案中进行编辑.当在其他解决方案中编辑代码时,这会导致在一个解决方案中设置的断点在源中移位.
只是为了确认.当通过OpenSL ES for Android创建的音频播放器完成播放缓冲区时,垃圾收集器会自动释放该缓冲区吗?或者我需要自己释放缓冲区吗?
如果是后者,我可以使用一些帮助.但就目前而言,我不会发布任何代码,直到我被告知我需要自己做...
我添加了一些有用的助手Array(比如toSource()Opera).现在for..in返回具有普通属性的函数.
我现在正在使用for..in,因为代码更易于阅读.它是js的原生功能,因此必须更快.
但是在循环中添加类型检查可以更容易地使用经典for(;;).
有没有什么方法可以避免for..in枚举函数?
跨浏览器工作不是很必要(必须在Opera中工作),但速度很重要.
谢谢.
编辑:
有没有能力避免for..in任何对象的枚举函数或自定义属性?
旧SDK解决方案:
- (void)modifyKeyboard:(NSNotification *)notification
{
UIView *firstResponder = [[[UIApplication sharedApplication] keyWindow] performSelector:@selector(firstResponder)];
for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows])
for (UIView *keyboard in [keyboardWindow subviews])
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
{
MyFancyKeyboardView *customKeyboard = [[MyFancyKeyboardView alloc] initWithFrame: CGRectMake(0, 0, keyboard.frame.size.width, keyboard.frame.size.height);
[keyboard addSubview: customKeyboard];
[customKeyboard release];
}
}
Run Code Online (Sandbox Code Playgroud)
按照上面的方法,我现在发现iOS4是不同的.不起作用.我确信这是由于命名子视图(或排序)的差异.对于iphone SDK 4,有谁知道如何解决同样的问题?
c ×2
c++ ×2
debugging ×2
ios ×2
android ×1
android-ndk ×1
arm ×1
boost ×1
breakpoints ×1
casting ×1
containers ×1
ios7 ×1
iphone ×1
javascript ×1
makefile ×1
mmx ×1
multi-index ×1
neon ×1
objective-c ×1
opensl ×1
opera ×1
prebuild ×1
prototypejs ×1
simd ×1
sse ×1
uitextview ×1
visual-c++ ×1
windows-ce ×1