我正在开发一个使用很多模板和库的项目,比如boost :: fusion,发现自己正在努力使用一个可执行文件,截至今天,它是600MB而gdb需要1.7 GB的内存来加载它,还有一个符号查找会使它使用近3GBs.剥离的二进制文件约为5 MB.
问题是,为了生成更小的调试符号,还有什么要做的吗?这不仅是gdb的问题,也是链接器的问题,链接器在链接使用-g标志编译的对象时使用另一个1.2 GB的RAM
我试过-g1 -g2和-g3,问题依然存在.
我是CakePHP的新手,无法弄清楚如何使用Containable行为调用模型类的read()方法.我可以用find()执行以下操作
$this->T->find('all', array (
'contain' => array (
'C',
'L' => array (
'fields' => array ('L.id, L.time'),
'I' => array (
'fields' => array ('I.id','I.time'),
'J.name',
'J.id'
)
)
)
);
Run Code Online (Sandbox Code Playgroud)
这正如我预期的那样工作,但我不想得到T的所有实例,而是得到id = $ id的实例,所以我可以将它传递给'view'视图.但传递给find的数组在做的时候不起作用
$this->T->read(
array (
'contain' => array (
'C',
'L' => array (
'fields' => array ('L.id, L.time'),
'I' => array (
'fields' => array ('I.id','I.time'),
'J.name',
'J.id'
)
)
)
, $id)
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我需要在JTextPane中修改字母间距(字体跟踪),我无法让它工作.
当我使用JTextArea时,我可以这样做:
Font font = new Font("Courier New", Font.PLAIN, 10);
HashMap <TextAttribute, Object> attrs = new HashMap<TextAttribute, Object>();
attrs.put(TextAttribute.TRACKING, -0.1);
font = font.deriveFont(attrs);
textArea.setFont(font);
Run Code Online (Sandbox Code Playgroud)
但由于我需要更改行间距,我需要使用JTextPane,并执行:
textPane.setFont(font)
Run Code Online (Sandbox Code Playgroud)
正如我在JTextArea中所做的那样不起作用.我试过的另一件事是:
MutableAttributeSet set = new SimpleAttributeSet();
StyleConstants.setLineSpacing(set, -0.2);
StyleConstants.setFontFamily(set,"Courier New");
StyleConstants.setFontSize(set, 10);
set.addAttribute(TextAttribute.TRACKING, -0.1);
ta.setParagraphAttributes(set, true);
Run Code Online (Sandbox Code Playgroud)
但跟踪属性不起作用.
我究竟做错了什么?