点击查看Evernote原文

#@author:       gr
#@date: 2014-07-20
#@email: forgerui@gmail.com

对g++编译器不是特别熟悉,希望借此熟悉一下.

Contents


  1. 要使用strlen需要加入#include <cstring>.

  2. g++编译器中的嵌套模板之间需要放一个空格.如下:

    //o_O awesome!! <List<char> >中间应该有个空格
List<char> l1 = make<List<char>>("hello");
//~_~ correct
List<char> l2 = make<List<char> >("hello");
Template <typename Container>
Container make(const char* s){
return Container(s, s+strlen(s));
}
  1. 使用迭代器时,定义的时候需要加上typename;
    //前面需要加上typename
for (typename List<char>::iterator it = l2.begin(); it != i2.end(); ++it);
  1. visual studio中,shared_ptr通过#include <memory>便可以使用,使用的时候可以使用std::shared_ptr或者std::tr1::shared_ptr.

    g++中,需要#include <tr1/memory>,并且使用的时候,必须使用std::tr1::shared_ptr.

  2. gcc -Wall生成所有警告信息。

  3. gcc -M

      生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c

    来测试一下,很简单。

      

  4. gcc -MM

      和上面的那个一样,但是它将忽略由#include造成的依赖关系。

  5. 依赖问题:

    kalman.o:在函数‘main’中:kalman.cpp:(.text+0x18b):对‘cv::KalmanFilter::KalmanFilter(int, int, int, int)’未定义的引用

    编译时可以使用

    g++ -c kalmane.cpp pkg-config --cflags opencv

    同样链接时可以使用

    g++ -o kal kalman.cpp pkg-config --libs opencv

最新文章

  1. LoadRunner使用之变量参数化
  2. IT小喇叭,关注于移动互联网创新、创业的科技媒体
  3. word20161130
  4. iOS.ReactNative-4-react-native-command-line-tool
  5. Unity3D ShaderLab 静态贴图光照模型
  6. HTTPS协议加密解密全过程(图解)
  7. [CODEVS2603]公路修建
  8. Ubuntu第一次使用调教教程
  9. MySql连接问题
  10. 基于visual Studio2013解决面试题之1408桶排序
  11. SpringAccess数据库(oracle)构造
  12. JavaScript进阶(四)js字符串转换成数字的三种方法
  13. nginx 报错502Bad Gateway
  14. Android Studio撤销与SVN的关联
  15. php7 pdo抽象类操作数据库
  16. Spring Boot 单元测试详解+实战教程
  17. 网络协议之TCP
  18. hdoj1069 Monkey and Banana
  19. Spring 事务管理案例
  20. 记录一下最近犯得sb的翻车错误

热门文章

  1. 好的 ASP.Net网站、博客
  2. 【C++深入浅出】智能指针之auto_ptr学习
  3. ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中
  4. 利用存储过程将表中的数据生成Insert语句
  5. xcode 4 制作静态库详解
  6. 【09】绝不在构造和析构过程中调用virtual方法
  7. hdu 5446 Unknown Treasure lucas和CRT
  8. 数据库中DDL、DML、DCL和TCP概念
  9. 02---CSS整理
  10. iOS开发——高级技术&amp;密码锁功能的实现