问题列表 - 第33137页

Qt:Qt类与标准C++

标准c ++和Qt之间复制了大量功能.在某些时候它似乎合乎逻辑,但很多时候它看起来很愚蠢.就像我想做一种新的编程语言一样,学习我已经知道的东西.例如使用QFile.

此外,如果我这样做所有Qt方式,并假设现在我想退出Qt框架重写该代码将是太繁琐.OTOH我喜欢Qt,因为它为我提供了库,否则我将不得不像webkit,数据库连接,dbus等一样自己钓鱼.

你有什么建议混合标准C++或纯Qt方式吗?

c++ qt c++-standard-library

7
推荐指数
1
解决办法
3446
查看次数

新手方法:什么是javascript回调函数?

只是一个在调用它的另一个函数之后执行的函数,完成了吗?

请知道(差不多)关于编程的事情,我发现很难找到适当的新手答案或解释这意味着什么.

我可以从stackoverflow专家请求尝试吗?

javascript callback

9
推荐指数
2
解决办法
4333
查看次数

纽曼的图形模块化聚类

我有兴趣在大图上运行Newman的模块化聚类算法.如果你能指出我实现它的库(或R包等),我将非常感激.

最好〜拉拉

statistics modularity r graph cluster-analysis

13
推荐指数
2
解决办法
6310
查看次数

变量变量的实际用途是什么?

变量看起来很酷,但我想不出一个人会在生产环境中实际使用它们的情况.这种情况会是什么样的?它们是如何使用的?

php variable-variables

9
推荐指数
1
解决办法
1419
查看次数

每个子类继承策略使用NHibernate表时使用Casting代理的问题

我有一个抽象的基类并继承了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

11
推荐指数
1
解决办法
5201
查看次数

处理1-256字节的函数的最佳实践

我有一些设计用于处理1-256字节的函数,在嵌入式C平台上运行,其中传递字节比传递int(一条指令对三条)更快更紧凑,编码它的首选方法是什么:

  1. 接受一个int,如果为零则提前退出,否则将计数值的LSB复制到unsigned char并在do {} while( - count)中使用它; 循环(参数值256将转换为0,但将运行256次)
  2. 接受unsigned char,如果为零则提前退出,并且具有256字节的特殊版本的函数(这些情况将提前知道).
  3. 接受unsigned char,如果为零则运行256次.
  4. 有一个像上面这样的函数,但是通过表现为(0-255)和(仅256)的包装函数调用它.
  5. 有一个像上面这样的函数,但是通过表现为(0-255)和(仅256)的包装器宏来调用它.

当系统忙时,预计函数的内环可能占处理器执行时间的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 …

c embedded pic pic18

9
推荐指数
1
解决办法
1239
查看次数

ptrace'ing多线程应用程序

我有一个名为"调试器"的应用程序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降低,通过提供信息给使用者的线程,在调试器的机会有多大?也没有陷阱生成硬件,用户应用程序也无法更改.停止第二个线程也不是一个变种.

我需要分析两个线程.有些部件只能在线程停止时完成.

提前致谢!

linux ptrace signals

3
推荐指数
1
解决办法
2197
查看次数

是否有将EXCEPTION_POINTERS结构转换为字符串的函数?

有没有人知道将GetExceptionInformation()返回的EXCEPTION_POINTERS结构转换为我可以记录的字符串的函数?

如果它已经完成,我不想自己动手.

编辑:基本上,我添加了__try {} __except(){}块来帮助应用程序在严重错误上正常失败.虽然我正在使用它,但我正在尝试记录尽可能详细的错误消息以找到我们要解决的问题.理想情况下,我想打印出文件名和失败的行,但我怀疑这是可能的,所以我希望抛弃所有的异常信息,希望我们能够尽可能接近找出问题的确切原因.

c++ windows winapi exception visual-c++

8
推荐指数
2
解决办法
9856
查看次数

Xcode无法获得进程XXX的任务.我该如何解决这个问题?(iPhone SDK 4.0)

当我尝试在我的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位).

xcode ios

55
推荐指数
3
解决办法
4万
查看次数

在IE8中使用Raphael的文本链接

我在使用Raphael在IE8中使用简单的文本链接时遇到了很多麻烦.我希望文本行为像普通链接.我已经包含了一些我一直在玩的代码.

  • 通过使用悬停功能和document.body.cursor使光标变为手形
  • 点击功能仅在单击实际文本像素时有效 - 单击字母之间的间隙不起作用
  • 上述问题也会影响悬停

我是否需要在文本后面添加一些元素,一个矩形/边界框来处理鼠标?有任何想法吗?这个问题只出现在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)

raphael internet-explorer-8

5
推荐指数
1
解决办法
2684
查看次数