我正在尝试使用Lzz从我的*.cpp文件生成C++头文件.
调用序列是这样的:./ lzz -hx hpp -c -o out src/*.lzz
不幸的是,它始终无法说它找不到任何包含的标题,包括标准库的部分,如iostream,string和vector.
我收到一堆这样的错误消息:
src/CommonIO.lzz:7:10:找不到#include文件.src/CommonIO.lzz:8:10:找不到#include文件.src/CommonIO.lzz:9:10:找不到#include文件.
我知道我可以使用-I参数给它包含路径:-I /usr/local/include/c++/4.5.1
但它似乎没有帮助,因为它开始抱怨来自标准库的包含:/usr/local/include/c++/4.5.1/string:40:10:找不到#include文件.
可能是因为我在64位系统(Ubuntu 10.10)上运行32位版本(从http://www.lazycplusplus.com/download.html下载的二进制文件)?
我已经尝试从源代码编译自己的Lzz,但它抱怨缺少制作libconf.a的规则:
make [1]:*没有规则来制作目标/home/petmal/Desktop/Downloads/lzz_2_8_2_src/gcc.opt/libs/libconf.a', needed by/home/petmal/Desktop/Downloads/lzz_2_8_2_src/gcc.opt/lzz'.停止.
这是那些可能属于或不属于SO的元编程问题之一,但这里有......
有没有其他程序员注意到他们与人(技术或其他)沟通的能力在一段时间的强烈编程期间和之后几乎消失了?
我通常认为自己是一个相对较好的沟通者.然而,昨晚在一些相对具有挑战性的编程任务上工作迟到之后,我发现即使订购外卖餐也很困难:我的话在他们离开我的嘴之前被束缚了.这不是第一次发生这种情况......
还有其他人经历过这种现象吗?它有名字吗?
选择iOS设备并单击Xcode管理器中的"用于开发"按钮时,它在设备(iPhone或iPad)上有什么变化?
是否安装了任何调试符号或某种分析器或记录器?
"用于开发"时,此模式是否会影响设备性能或电池寿命?
在编写C++代码时,我经常从在头文件中编写完整的"实现"代码开始,然后需要将实现重构为.cpp文件.
这很好,但是我觉得这个过程很费力,但其他方面很简单,所以我想知道是否有任何自动化方法可以做到这一点?
具体来说,我想转换.h到声明中的所有类和函数定义,并在新.cpp文件中声明它们.
我正在使用xcode,但我对任何解决方案持开放态度.
当Java .properties文件中存在重复键时,定义的行为是什么?
thing.valueA = 1
thing.valueB = 2
thing.valueA = 99
Run Code Online (Sandbox Code Playgroud)
保证使用哪个值thing.valueA?1,99还是未定义?这种行为记录在哪里吗?
NB.我不是问复制键是否被认为是最佳实践.
在Flash Professional CS4中,当我使用鼠标/键盘输入处理程序名称(如onMouseDown,onKeyUp等)时,即使我为它们添加了事件侦听器,也会出现"迁移问题"警告.这些名称对于函数来说是完全合法的,但由于它们是在ActionScript 2.0中自动触发的,因此我们现在(尽管明智地)警告它们在AS3中的使用不再是自动的.
我理解警告的目的,但它们对我没用.我想抑制这些警告,但不要压制任何其他警告,我通常会发现这些警告很有用.
例如,当我使用这样的代码时:
/** @constructor */
public function MyClass() {
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
protected function onMouseDown(e:MouseEvent):void {
Run Code Online (Sandbox Code Playgroud)
我得到一个像这样恼人的警告:
Warning: 1090: Migration issue: The onMouseDown event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( 'mouseDown', callback_handler).
有flex编译器(mxmlc)标志(以及Flash Pro设置)可以抑制动作脚本警告或所有警告,但我不希望这样.这太笼统了.
理想情况下,我可以抑制特定的错误/警告号码(警告#1090).
编辑:我发现了更多"高级"编译器标志mxmlc -help advanced,看起来很有希望.具体来说,以下似乎是可能的候选人:
warn-deprecated-event-handler-error
warn-deprecated-function-error
warn-deprecated-property-error
如何让Flash使用这些?
编辑2:我在Flash用户数据目录中找到了一个flex-info.xml样式文档.
[userdatafolder]/Adobe/Flash …
<!-- This is a perfectly valid comment - I think. -->
<!-- Invalid comment -- definitely. -->
Run Code Online (Sandbox Code Playgroud)
还有三个额外的限制,例如这些无效的例子:
<!--> invalid -->
<!---> invalid -->
<!-- invalid --->
Run Code Online (Sandbox Code Playgroud)
为什么还要指定所有这些小边缘情况呢?特别是,为什么禁止双连字符?
有没有办法使用Flash(CS3 + AS3)来确定发布的swf是在调试播放器中还是在Flash的调试模式下运行?
我知道,Flex提供的能力设置不同的构建目标(发布/调试),并可以使用类似CONFIG::debug的#ifdef风格入选的代码在编译时.
我想象的东西System.isDebug()却找不到任何东西.我想使用它,因为我的应用程序中有调试功能,我绝对不希望在生产环境中可用.
任何人都知道有什么好的资源或个人经验可以帮助解释各种内置数据类型在actionscript 3中占用多少内存(和swf大小)?我特别感兴趣的是int,Number和(密集的)Arrays或Vectors.
我正在开发一个项目,我需要嵌入大量结构化数组数据,这些数据已经是C++格式,因此移植只需要复制粘贴,搜索替换.
我已经看过Adobe关于数据类型的低位但是它不够具体,并没有提到数组等.
我正在使用Cujo的伟大When库为我的Node项目提供Promises/A +实现,尽管这个问题不是特定于节点的.
通常,什么时候很棒:它让我编写更易于维护,可读的代码.
但是,当我的回调意外失败(访问null变量的属性等)时,异常会被When有效吞并,似乎由Promises/A +规范指定.不幸的是,这意味着我没有得到任何关于错误的反馈(除了回调在此时停止执行).没有错误类型或消息,没有行号.
为了显示:
// hypothetical asynchronous database query
database.query(queryDetails).then(function(result) {
var silly = 3.141592654;
silly(); // TypeError: number is not a function!
process(result); // this code is silently never executed
});
Run Code Online (Sandbox Code Playgroud)
我可以想到一些(不可接受的)方法来解决这个问题:
then调用提供失败回调(将原因/异常转储到控制台)console.log('I got here 123')我只是做错了吗?当然,我并不是唯一一个发现基于promises的代码可调试性差的人.有一个明显的解决方案我错过了吗?
flash ×3
apache-flex ×2
c++ ×2
debugging ×2
header-files ×1
html ×1
html5 ×1
include ×1
ios ×1
ipad ×1
iphone ×1
java ×1
javascript ×1
lazy-c++ ×1
mxmlc ×1
node.js ×1
promise ×1
refactoring ×1
tomcat ×1
types ×1