小编MLS*_*MLS的帖子

静态库,但我还需要标题?

我有一堆项目都可以共享一个"常见"的静态类库.

令我困惑的是,如果我从这些类中创建一个静态库并在我的项目中链接它,我仍然需要在我的主项目中的静态库中的类的标题.

那么静态库有什么好处呢?

像Adobe这样的公司如何处理这个?

c++ linker static-libraries

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

你如何实现语法高亮?

我正在开始学习,我想用C++编写自己的语法高亮显示文件.

任何人都可以给我如何去做这个的想法吗?

对我来说,似乎在打开文件时:

  1. 需要解析并确定它是什么类型的源文件.信任扩展可能不是万无一失的

  2. 一种了解哪些关键字/命令适用于哪种语言的方法

  3. 一种确定每个关键字/命令的颜色的方法

我想在OS X上使用C++或Objective-C执行此操作.

任何人都可以提供关于我如何开始这个的指示?

c++ macos syntax-highlighting objective-c lexical-analysis

10
推荐指数
2
解决办法
3625
查看次数

在C++中使用更宽松的throw说明符

我收到的错误是:

错误:'virtual CPLAT :: CP_Window :: ~CP_Window()'的松散抛出说明符

在析构函数上,我以前从未听说过这一点,一些谷歌搜索说这可能是一个GCC 4问题,我不知道如何解决,因为我需要GCC 4来构建一个通用二进制文件.

我的环境:OS X 10.6,XCode 3.2.2,GCC 4构建通用二进制文件.

有什么问题?

c++ compiler-construction xcode gcc

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

#define以及如何使用它们 - C++

在我预先编译的标题中:

#define DS_BUILD
#define PGE_BUILD
#define DEMO
Run Code Online (Sandbox Code Playgroud)

然后在源头我做:

#if (DS_BUILD && DEMO)
    ---- code---
#elif (PGE_BUILD && DEMO)
    --- code---
#else
    --- code ---
#endif
Run Code Online (Sandbox Code Playgroud)

我是否收到错误消息:

错误:运算符'&&'没有正确的操作数

我以前从未见过这个.我在OS X 10.6.3上使用XCode 3.2,GCC 4.2

c++ precompiled-headers c-preprocessor

4
推荐指数
1
解决办法
1863
查看次数

在C++中进行模板调试

我有一个模板类:

template <class identifier,class registeredObject>
class FxPairRegistry : public FxRegistry<pair<identifier,registeredObject> >
{
 public:
  registeredObject GetEntry(identifier, FxBool assertValue = true);
  void RegisterInOrder(const pair<identifier,registeredObject> &ob);

  typedef typename std::vector<pair<identifier,registeredObject> >::iterator iter;
};
Run Code Online (Sandbox Code Playgroud)

然后我有:

template <class identifier,class registeredObject>
registeredObject FxPairRegistry<identifier,registeredObject>::GetEntry(identifier id, FxBool 
assertValue)
{
 for (iterator iter = mRegistryList.begin(); iter != mRegistryList.end(); iter++)
 {
  if ((*iter).first == id)
  {
   return (*iter).second;
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

但我得到的错误如下:

error: missing template arguments before 'iter'
error: expected `;' before 'iter'
error: expected primary-expression before '!=' token
error: 'mRegistryList' …
Run Code Online (Sandbox Code Playgroud)

c++ templates

0
推荐指数
1
解决办法
921
查看次数