小编xpd*_*pda的帖子

CEDET可扩展性提示

我使用CEDET(最新的CVS)和几个中等规模的项目(每个几百kLOC,主要是C,但有些C++),有时会遇到长时间停顿,系统几秒钟内完全没有响应.更少见的是,它完全旋转失控,我必须进行混搭C-g并尝试移动光标或切换到不同的缓冲区以获得控制权.

我使用GNU Global为我使用的项目创建标签,但这有时仍然很慢,特别是对于semantic-symref-symbol,有些跳转似乎需要解析大量的头文件和源文件.在某些情况下semantic-ia-fast-jump,semantic-ia--fast-jump-helper: Tag SomeFunction has no buffer information即使gtags-find-tag发现它(在同一个项目中),也可能在过时的位置发现错误; 这可能是一个临时的错误,通常semantic-ia-fast-jump是可靠的.

我很感激有关如何做的任何建议

  • 节流CEDET而不会失去所有的语义分析.
  • 找出导致CEDET失控的原因,以便我可以修复我的项目定义或提交错误报告.
  • 确定某些语义分析失败的原因.
  • 获取语​​义来缓存更多信息以使其更具响应性,我有很多内存,我想使用它.
  • 管理不同位置(包括系统目录)中的多个项目的GNU Global(创建并保持最新).
  • 管理我已配置的项目之间的依赖关系ede-cpp-root-project.
  • 管理具有多个构建配置的项目,每个构建配置都有自己的"config.h"和构建目录.

文章http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html中有一些提示,我正在寻找除该文章之外的任何内容.

emacs scalability cedet

18
推荐指数
1
解决办法
3099
查看次数

我应该把多少信息放入课堂?(OOP)

我是一名C#编程学生,虽然我已经在编程学习了几年,而且学习的内容超出了课程的教学范围,这正是我正在做的事情,所以我得到了充分的准备进入工作环境.这个特殊课程根本不是OOP,实际上是下一堂课,但对于这个项目,老师说他不介意我们是否超越并在OOP中完成了项目(事实上你不能得到A在他的班上,除非你无论如何都要超越自己.)

该项目(此时)读取XML文件,逐字节,将元素标记存储到一个数组,将数据值存储到另一个数组.我和他一起战斗(鉴于处理XML的.net框架)但这是一场失败的战斗.他希望我们在不使用.net XML的情况下编写代码.

他确实为这个程序提供了一个OOP示例(他最初用Java编写,移植到C++,然后从C++移植到C#)

在他的例子中,他有三节课.第一,XMLObject,其中包含阵列,准构造,获取和设置方法(未属性,我打算在我的版本而定),以及用于将所述的方法<>要被存储在阵列标签(和输出到控制台,如果需要.)

第二堂课是一parseXML堂课.在这一个中,他有一些字段可以跟踪行数,文件偏移量,标记偏移量以及用于保存元素和数据的字符串.同样,他有getter和setter方法,几个解析不同东西的解析方法,以及一个使用其他解析方法的通用解析方法(在这里将它们组合起来).其中一些方法调用XMLObject类的方法,并将解析后的元素和数据值发送到各自的数组.

他拥有的第三个类是没有字段的类,有两个方法,一个用于执行ATOI,另一个用于将一部分文件流转储到控制台.

我知道我们基本上构建了一个效率较低的版本,已经包含在.net框架中.我已经向他指出了这个问题并被告知"不要使用.net的XML类,讨论结束",所以让我们都同意让这一个人独自一人.

我的问题是,那些真的应该是3个独立的课程.解析类不应该从XML对象类继承,还是只能在XML对象类中编码,ATOI和转储方法是否也不应该属于这两个类中的一个?

这对我来说很有意义,如果解析类的人生目标是解析XML文件,并存储元素和数据字段的数组,它应该是在同一个班级,而不是孤立,并且具有通过getter和setter方法来做到这一点(或者我将要做的版本中的属性).我不明白为什么数组需要从实际给它们存储什么的解析方法中封装起来.

任何帮助将不胜感激,因为我仍在设计这个,并希望至少尽可能接近"正确"(我知道它是一个相对术语)OOP形式.

c# oop class

17
推荐指数
2
解决办法
555
查看次数

如何重命名Java包而不破坏Subversion历史记录?

我正在为之工作的公司正在启动,他们在此过程中改名.所以我们仍然使用包名com.oldname,因为我们害怕打破文件更改历史记录,或者版本之间的祖先链接,或者我们可能破坏的任何东西(我不认为我使用正确的术语,但你得到了概念).

我们使用:Eclipse,TortoiseSVN,Subversion

我发现的地方,我应该这样做在很多步骤,以防止在java文件.svn目录和包名的内容之间不连贯:

  • 首先使用TortoiseSVN重命名目录,更新.svn目录.
  • 然后,手动将目录重命名为原始名称.
  • 最后使用Eclipse将包重命名(refactor)重命名为新名称,更新java文件.

这对我来说似乎很好,但我需要知道祖先和历史以及其他一切是否仍然是连贯的并且运作良好.

我没有该服务器的密钥,这就是为什么我不急着备份东西并尝试一两件事.我想提出一个不这样做的好理由,或者一种有效的方法.

谢谢您的帮助,

M. Joanis


包重命名测试

程序:

  1. 创建一个新包com.oldname.test.renametest.subpackage.
  2. 在renametest下添加一个名为RenameTest0.java的新类,其中包含:

    class RenameTest0 {
        public RenameTest0() {
            showMessage();
            new RenameTest1();
        }
        public static void showMessage() {
            System.out.println("RenameTest0!");
        }
        public static void main(String[] args) {
            new RenameTest0();
        }
    }
  3. 在renametest.subpackage下添加一个新类,其中包含:

    class RenameTest1 {
        public RenameTest1() {
            showMessage();
            RenameTest0.showMessage();
        }
        public static void showMessage() {
            System.out.println("RenameTest1!");
        }
    }
  4. 测试RenameTest0运行正常.

  5. 承诺.
  6. 更改两个类的消息.
  7. 承诺.
  8. 再次,更改一个类的消息并提交(只创建一些历史记录).
  9. 应用上面提出的程序(原始消息中的三个步骤)将包重命名重命名为testrename.
  10. 承诺.
  11. 测试运行.
  12. 再次修改消息并进行测试.
  13. 承诺.
  14. 第一次同时更改两条消息时,尝试回滚到该版本.
  15. 如果到目前为止一切正常,它看起来不错,不是吗?

测试结果:

  • 关于步骤9的注意事项:必须以相反的顺序执行(Eclipse重命名为THEN TortoiseSVN重命名.),否则它变得复杂,因为TSVN创建了一个新的文件夹/包并标记旧的删除...所以你不能重命名为Eclipse,除非你同时把旧包放在其他地方,以防止丢失.svn文件夹等.使用这种方法进一步看起来不是一个好主意.(请注意:不要忘记勾选递归包重命名的复选框!)
  • 关于第14步的说明:工作了!我们可以看到以前的版本; …

java eclipse svn tortoisesvn renaming

16
推荐指数
1
解决办法
2万
查看次数

您是否建议将Native C++转换为C++\CLI转换?

在过去的几年里,我一直是一名本地C++程序员.现在我们从头开始一个新项目.那么您对以C++\CLI转移而牺牲平台无关代码的想法是什么?转换到C++\CLI可以获得任何特殊优势吗?

c# c++ c++-cli

12
推荐指数
2
解决办法
2042
查看次数

使用JavaScript的Whois

我希望能够通过客户端javascript获取whois数据(以及idn域).可能吗?也许存在一些类似REST的免费WhoIs服务?

javascript whois

12
推荐指数
2
解决办法
1万
查看次数

vb.net中的解决方案和项目有什么区别?

有人可以告诉我在vb.net中解决方案和项目有什么区别如果我从我的项目文件夹加载其中任何一个,效果是否相同?

谢谢Furqan

vb.net

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

为什么C语言不支持列主阵列?

它只是一个随机的设计选择,还是有任何特定的原因,C支持行主要而不是列主要?我知道Fortran使用专业列.那么这些设计选择背后的原因(如果有的话)是什么?

c

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

在构建过程中将代码包装在自定义闭包中

我想在构建过程中使用Grunt(和uglify)将我的代码包装在自定义类型的Closure中.此操作必须使sourceMap保持工作.

我的用例是将我的所有代码包装在一个try/catch块中,以允许记录生产中的错误 - 而不会失去对堆栈跟踪的访问(不像window.onerror).我可能会使用Raven-js 1.0来解决这个问题.

任何人都知道如何轻松管理这个问题?

如果您有可能带来完整答案的提示,那也将被接受

javascript build gruntjs

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

连接到Mac Mini时,设备会定期丢失连接

我正在尝试在MAC Mini上开发Android应用程序并安装了所有必需的软件,如android SDK,eclipse和ADT.到目前为止,一切都运作良好,除了一件事.我正在通过USB连接Google Nexus手机,我已经将手机置于USB调试模式,并且还检查了通过USB连接时屏幕保持打开的选项.

但由于某些原因,当设备定期连接时,我一直在丢失连接.例如:每3分钟左右.我知道它正在失去联系,因为当我跑步时

adb devices
Run Code Online (Sandbox Code Playgroud)

大约3分钟后,我看到设备列表中没有设备.对此有任何解决方法或我没有正确设置一些步骤?

谢谢.

macos android

7
推荐指数
2
解决办法
6389
查看次数

在CSS声明中是否需要在冒号后面加一个空格?

我在CSS中非常糟糕,
我经常看到人们使用冒号+空格: -

a {color: red;}  /* colon followed by space */
a {color:red;}   /* instead of this */
Run Code Online (Sandbox Code Playgroud)

两者仍然相同(至少浏览器仍然呈现相同).那么,这只是一个代码格式偏好吗?
(它有任何隐藏的含义吗?)

css

7
推荐指数
2
解决办法
3601
查看次数

标签 统计

c# ×2

javascript ×2

android ×1

build ×1

c ×1

c++ ×1

c++-cli ×1

cedet ×1

class ×1

css ×1

eclipse ×1

emacs ×1

gruntjs ×1

java ×1

macos ×1

oop ×1

renaming ×1

scalability ×1

svn ×1

tortoisesvn ×1

vb.net ×1

whois ×1