标准c ++和Qt之间复制了大量功能.在某些时候它似乎合乎逻辑,但很多时候它看起来很愚蠢.就像我想做一种新的编程语言一样,学习我已经知道的东西.例如使用QFile.
此外,如果我这样做所有Qt方式,并假设现在我想退出Qt框架重写该代码将是太繁琐.OTOH我喜欢Qt,因为它为我提供了库,否则我将不得不像webkit,数据库连接,dbus等一样自己钓鱼.
你有什么建议混合标准C++或纯Qt方式吗?
只是一个在调用它的另一个函数之后执行的函数,完成了吗?
请知道(差不多)关于编程的事情,我发现很难找到适当的新手答案或解释这意味着什么.
我可以从stackoverflow专家请求尝试吗?
我有兴趣在大图上运行Newman的模块化聚类算法.如果你能指出我实现它的库(或R包等),我将非常感激.
最好〜拉拉
变量看起来很酷,但我想不出一个人会在生产环境中实际使用它们的情况.这种情况会是什么样的?它们是如何使用的?
我有一个抽象的基类并继承了poco实体.我使用表每子类继承与流畅的nhibernate 1.1自动化.
类继承如下所示
节点(抽象类)放置:节点资产:节点
Node类基本上是树结构.
public abstract class Node
{
public virtual int Id
{
get;
set;
}
public virtual Node ParentNode
{
get;
set;
}
public virtual ICollection<Node> ChildNodes
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,当我从数据库获取Asset的对象并执行objAsset.ParentNode时,我可以将ParentNode强制转换为Asset或Place,但是如果我执行类似objAsset.ParentNode.ParentNode.ParentNode的操作,那么ParentNode将显示为类型" {Castle.Proxies.NodeProxy}"我无法将其投射到Place或Asset.
我知道在我的情况下,最终结果应该是Place类型,因为记录存在于Place表的数据库中但由于某种原因NHibernate不能将它延迟加载到实际的派生类型,它只能转换为基类Node .
任何的想法?
等待Nabeel
nhibernate lazy-loading nhibernate-mapping fluent-nhibernate
我有一些设计用于处理1-256字节的函数,在嵌入式C平台上运行,其中传递字节比传递int(一条指令对三条)更快更紧凑,编码它的首选方法是什么:
当系统忙时,预计函数的内环可能占处理器执行时间的15%-30%; 它有时会用于少量字节,有时用于大字节.该函数使用的内存芯片具有每事务开销,我更喜欢让我的内存访问函数在内部执行start-transaction/do-stuff/end-transaction序列.
最有效的代码是简单地接受unsigned char并将参数值0视为执行256字节的请求,依赖于调用者以避免任何意外尝试读取0字节.但这似乎有点危险.有其他人在嵌入式系统上处理过这些问题吗?他们是如何处理的?
编辑 该平台是PIC18Fxx(128K代码空间; 3.5K RAM),连接到SPI闪存芯片; 当预期较少时读取256个字节可能会超出PIC中的读缓冲区.写入256个字节而不是0将破坏闪存芯片中的数据.如果没有检查忙状态,PIC的SPI端口每12个指令时间限制为一个字节; 如果有人会慢一些.典型的写事务除了要接收的数据外还需要发送4个字节; 读取需要额外的字节用于"SPI周转"(访问SPI端口的最快方法是在发送下一个字节之前读取最后一个字节).
编译器是HiTech PICC-18std.
我一般都喜欢HiTech的PICC-16编译器; HiTech似乎已经将他们的能量从PICC-18std产品转移到他们的PICC-18pro系列,它的编译时间更慢,似乎需要使用3字节"const"指针而不是双字节指针,并且有它的关于内存分配的想法.也许我应该更多地看看PICC-18pro,但是当我尝试在一个版本的PICC-18pro上编译我的项目时,它没有用,我也没弄清楚为什么 - 也许是关于变量布局不同意的事情我的asm例程 - 我只是继续使用PICC-18std.
顺便说一句,我刚刚发现PICC-18特别喜欢do {} while( - bytevar); 特别不喜欢做{} while( - intvar); 我想知道编译器生成后者时会发生什么?
do
{
local_test++;
--lpw;
} while(lpw);
2533 ;newflashpic.c: 792: do
2534 ;newflashpic.c: 793: {
2535 0144A8 2AD9 incf fsr2l,f,c
2536 ;newflashpic.c: 795: } while(--lpw);
2537 0144AA 0E00 movlw low ?_var_test
2538 0144AC 6EE9 movwf fsr0l,c
2539 0144AE … 我有一个名为"调试器"的应用程序hyper-ptrace.它开始user_appl3与NPTL多线程.
超级ptrace的主循环是:
wait3(&status, FLAGS, &u);
// find a pid of child, which has a signal
switch (signal = WSTOPSIG(status))
{
case SIGTRAP:
do_some_analysis_of_the_child(pid, &status) // up to several ms
break;
}
ptrace(PTRACE_CONT, pid); // discard signal, user_appl3 doesn't know anything
//about this SIGTRAP
Run Code Online (Sandbox Code Playgroud)
每个线程以某个周期性间隔由硬件为user_appl3生成SIGTRAP,并将其传递给某个线程.间隔可以是100..1 ms甚至更短.它是一种带有中断的每CPU时钟.每个线程仅在其CPU上运行(以亲和力绑定).
所以有问题1:
如果thread1得到TRAP并且调试器进入do_some_analysis_of_the_child,(所以调试器没有wait3为第二个线程做一个),并且稍后一段时间thread2也会进行TRAP,那么Linux内核会做什么?
在我看来:thread1将被停止,因为它获得一个信号,并有一个等待调试器.但是thread2继续运行(是吗?).当thread2获得一个信号时,就没有一个等待的调试器,所以TRAP可以被传递给thread2本身,从而有效地杀死它.我对吗?
还有第二个问题,问题2:
对于这种情况,我应该如何重写 主循环的hyper-ptrace降低,通过提供信息给使用者的线程,在调试器的机会有多大?也没有陷阱生成硬件,用户应用程序也无法更改.停止第二个线程也不是一个变种.
我需要分析两个线程.有些部件只能在线程停止时完成.
提前致谢!
有没有人知道将GetExceptionInformation()返回的EXCEPTION_POINTERS结构转换为我可以记录的字符串的函数?
如果它已经完成,我不想自己动手.
编辑:基本上,我添加了__try {} __except(){}块来帮助应用程序在严重错误上正常失败.虽然我正在使用它,但我正在尝试记录尽可能详细的错误消息以找到我们要解决的问题.理想情况下,我想打印出文件名和失败的行,但我怀疑这是可能的,所以我希望抛弃所有的异常信息,希望我们能够尽可能接近找出问题的确切原因.
当我尝试在我的ipod上运行一个新项目时出现以下错误:
Error launching remote program: failed to get the task for process 312.
The program being debugged is not being run.
Run Code Online (Sandbox Code Playgroud)
我已经阅读了有关Entitlements.plist的内容,并且我尝试添加get-task-allow,但是由于代码签名错误,它不允许我编译.我只有一个开发配置文件,所以它与试图调试分发版本的人不一样(我也在调试版本中,所以这不是问题).
旧项目在ipod上构建并运行良好,只是新项目.
我已经尝试重新启动xcode和我的ipod,但它没有帮助.
我对如何在xcode上构建/运行新项目没有更多的想法,所以非常感谢任何帮助!
哦,我正在使用带有iOS 4.0.1的iPod 3G.Xcode是3.2.3(64位).
我在使用Raphael在IE8中使用简单的文本链接时遇到了很多麻烦.我希望文本行为像普通链接.我已经包含了一些我一直在玩的代码.
我是否需要在文本后面添加一些元素,一个矩形/边界框来处理鼠标?有任何想法吗?这个问题只出现在IE8中,正如您所知,它通过Raphael使用VML.
这是代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico">
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.4.min.js"></script>
<script type="text/javascript" src="js/raphael-min.js" charset="utf-8"></script>
<script type="text/javascript">
window.onload = function () {
// Creates canvas 320 × 200 at 10, 50
var paper = Raphael(10, 50, 420, 400);
var lbl = paper.text(50, 40, 'test').attr( {
"font" : '14px Helvetica, Arial',
stroke : "none",
fill : …Run Code Online (Sandbox Code Playgroud) c++ ×2
c ×1
callback ×1
embedded ×1
exception ×1
graph ×1
ios ×1
javascript ×1
lazy-loading ×1
linux ×1
modularity ×1
nhibernate ×1
php ×1
pic ×1
pic18 ×1
ptrace ×1
qt ×1
r ×1
raphael ×1
signals ×1
statistics ×1
visual-c++ ×1
winapi ×1
windows ×1
xcode ×1