频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

内存调试技巧:C 语言最大难点揭秘

来源:论坛整理 作者:Cameron Laird 出处:巧巧读书 2007-06-24 进入讨论组
上一页 1 2 3 4 5 6 下一页 
      编码风格

  编码风格是最重要的,我还从没有看到过其他任何作者对此加以强调。影响资源(特别是内存)的函数和方法需要显式地解释本身。下面是有关标头、注释或名称的一些示例(请参见清单 6)。

      清单 6. 识别资源的源代码示例

以下是引用片段:
/********
* ...
*
* Note that any function invoking protected_file_read()
* assumes responsibility eventually to fclose() its
* return value, UNLESS that value is NULL.
*
********/
FILE *protected_file_read(char *filename)
{
    FILE *fp;

    fp = fopen(filename, "r");
    if (fp) {
...
    } else {
...
    }
    return fp;
}

        /*******
* ...
*
* Note that the return value of get_message points to a
* fixed memory location.  Do NOT free() it; remember to
* make a copy if it must be retained ...
*
********/
char *get_message()
{
    static char this_buffer[400];

            ...
    (void) sprintf(this_buffer, ...);
    return this_buffer;
        }

        /********
* ...
* While this function uses heap memory, and so
* temporarily might expand the over-all memory
* footprint, it properly cleans up after itself.
*
********/
        int f6(char *item1)
{
    my_class c1;
    int result;
            ...
    c1 = new my_class(item1);
    ...
            result = c1.x;
    delete c1;
    return result;
}
/********
* ...
* Note that f8() is documented to return a value
* which needs to be returned to heap; as f7 thinly
* wraps f8, any code which invokes f7() must be
* careful to free() the return value.
*
********/
int *f7()
{
    int *p;

    p = f8(...);
    ...
    return p;
}

  使这些格式元素成为您日常工作的一部分。可以使用各种方法解决内存问题:

  专用库

  语言

  软件工具

  硬件检查器在这整个领域中,我始终认为最有用并且投资回报率最大的是考虑改进源代码的风格。它不需要昂贵的代价或严格的形式;可以始终取消与内存无关的段的注释,但影响内存的定义当然需要显式注释。添加几个简单的单词可使内存结果更清楚,并且内存编程会得到改进。

  我没有做受控实验来验证此风格的效果。如果您的经历与我一样,您将发现没有说明资源影响的策略简直无法忍受。这样做很简单,但带来的好处太多了。

本U R L:http://www.qqread.com/cpp/o318405.html 更多文章 更多内容请看Office技巧专区网管实用技巧100例ADO.NET实用技巧专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章