摘要:
每一天你都在使用大量的命令行程序,是不是感觉那些命令行参数用起来比较方便,他们都是使用getopt来实现的。在Linux下使用getopt写程序是一种比较cool的事情,下面来简单的介绍一下getopt的使用。=== getopt使用 ===在讨论参数处理之前,我们先明确两个概念:选项、选项参数gcc -g -o test test.c我们经常使用上面的命令来编译程序,这里g和o就是选项,其中test就是o的选项参数下面我们来看一下getopt:首先是函数声明:#include <unistd.h>extern char *optarg;extern int optind;exte 阅读全文
摘要:
环境:VS2010问题;探索重载new和delete后构造函数、修改函数的调用顺序代码: 1 #include <iostream> 2 using namespace std; 3 class C 4 { 5 float x,y; 6 public: 7 C(){ 8 cout<<"调用构造函数"<<endl; 9 }10 ~C(){11 cout<<"调用析构函数"<<endl;12 }13 void show()14 {15 cout<<"x="<&l 阅读全文
摘要:
简介:代码的性能优化是一项非常重要的工作。经常可以看到,采用 C 或 C++ 编写的、功能正确的软件在执行时耗费大量的内存、时间、或者在最糟的情况下既耗内存又费时间。作为一名开发人员,可以使用 C/C++ 提供的功能强大的工具来改进处理时间,并且防止内存破坏,这些工具其中之一是控制如何在代码中分配或者释放内存。忆一下 C/C++ 中内存管理的基础知识。执行时,malloc 和 new 将向操作系统内核请求内存,而 free 和 delete 则请求释放内存。这意味着,操作系统必须在每次提出内存请求时在用户空间代码和内核代码之间进行切换。反复调用 malloc 或者 new 的程序,最终将由于不 阅读全文