中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

将MFC文档/视图转换为?

我的问题很难形成,但要开始: 我有一个我曾经工作过的很长时间的MFC SDI应用程序,似乎从来不适合Doc / View架构。 即在Doc中没有任何有用的东西。 它是multithreading的,我需要做更多的线程等。 我也梦想把它移植到Linux X Windows上,但是我对这个编程环境一无所知。 也许Mac也是。 我的问题是从哪里去的? 我想我想从MFC文档/视图直接Win API的东西与消息循环和窗口过程等转换,但任务似乎是巨大的。 Linux X Windows环境是否使用类似的消息循环,窗口过程体系结构? 我可以参加吗? 像一次转换一点点,而不使我的程序无法长时间工作? 稍后添加: 我的程序是一个文件比较程序(听起来很简单)。所以,以简单的方式说明我的困惑,通常一个文件可以有多个视图,但是在这个应用程序中,我有一个包含多个(两个)文件(文件)的视图。 我有一个“比较引擎”,是我在DOS时代首先写回来的,这是程序的核心,而视图只是查看那个例程的输出。 有时我认为我的一些“视图”代码在“文档”类中是有意义的,但是我不知道从哪里开始将它分成更多的类。 我最近开始阅读“Programming Windows”5th Ed。 Charles Petzold(我知道这已经过时了(C)1998),希望能够更好地理解直接的Windows编程。 C#,.NET,MFC,MVC,Qt,wxWidgets等选项泛滥 我发现我经常被困在试图理解MFC框架中发生的事情,因为我的代码中的东西不工作,因为它似乎应该,但问题是,我真的不明白如何在后台处理事情。 这就是为什么我试图学习“直接Windows编程”,我的程序有我写的所有消息传递代码。 我希望这有助于对我的问题有足够的了解,以便有人可以在我的路上指导我。

gcc编译.c与.s文件 – .bss混淆(bug?)

在IA32体系结构的Ubuntu 12.04下使用gcc 4.6.3时遇到了一个问题,那就是使用存储在.bss段上的汇编文件编译C文件,同时使用.comm和.lcomm指令。 在.comm和.lcomm缓冲区之间,汇编文件foo.s使用接近最大的空间让我在这个分区中分配(foo计算长整数的总分解)。 用一个汇编文件bar.s来处理I / O等等,所有东西都编译和链接正常(和快速),并且工作正常。 当我使用C文件bar.c处理I / O时,gcc不会终止 – 至less不会在5分钟内完成。 .bss请求接近我的小型笔记本内存,但由于.bss段没有得到编译时初始化,并与bar.s一起工作,我不明白为什么会发生这种情况。 当我减小在foo.s中请求的.bss大小时,gcc编译并链接正常,并且所有的东西都按照它应该执行的那样执行。 此外,正如所料,在每种情况下使用创build的可执行文件的文件大小 gcc bar.c foo.s -Wall 不依赖于.bss请求的大小 (我编译的大小都比原来的小,大小不一)。 在所有情况下,可执行文件都是非常小的(可能是10k),实际上它的大小是相同的,但显然,原始文件不能成功编译并挂起。 这是海湾合作委员会的错误? 有没有一个命令行选项来防止这种情况发生? 或者是怎么回事? 编辑:每个评论,这里是与.bss段分配的部分: # Sieve of Eratosthenes # Create list of prime numbers smaller than n # # Note: – no input error (range) check # – n <= 500,000,000 (could be […]