
发表日期: 2021-04-25 10:24:10 浏览次数:180
连云港网站优化【连云港开通400电话】连云港网站搭建、连云港微信公众号推文外包、连云港开通京东拼多多设计、连云港淘宝装修
淮安位于江苏省中北部,江淮平原东部。地处长江三角洲地区, [1] 是苏北重要中心城市, [2] 南京都市圈紧密圈层城市,淮河生态经济带首提首推城市 [3] ,坐落于古淮河与京杭大运河交点,处在中国南北分界线“秦岭-淮河”线上,拥有中国第四大淡水湖洪泽湖,是全国文明城市 [4] 、国家历史文化名城、国家卫生城市、国家园林城市、国家环境保护模范城市、国家低碳试点城市、中国优秀旅游城市。为淮扬菜的主要发源地之一,是江淮流域古文化发源地之一。
淮安有2200多年建城史。秦时置县,境内有著名的“青莲岗文化”遗址。曾是漕运枢纽、盐运要冲,驻有漕运总督府、江南河道总督府。历史上与苏州、杭州、扬州并称运河沿线的“四大都市”,曾经淮安“因运而兴、因运而盛” [5] ,有“中国运河之都”的美誉。中国大运河淮安段入选世界遗产名录。淮安地处江苏省长江以北的核心地区,邻江近海,为南下北上的交通要道,区位优势独特。是江苏省的重要交通枢纽,也是长江三角洲北部地区的区域交通枢纽。
淮安人杰地灵,是一代伟人周恩来总理的故乡。 [6] 历史上诞生过大军事家韩信、汉赋大家枚乘、巾帼英雄梁红玉、《西游记》作者吴承恩、民族英雄关天培、《老残游记》作者刘鹗等。 [7]
淮安有著名的红色旅游景区周恩来故里景区、刘老庄八十二烈士陵园、黄花塘新四军军部纪念馆、苏皖边区政府旧址纪念馆等,生态旅游景区古淮河文化生态景区、里运河文化长廊、洪泽湖古堰景区、第一山国家森林公园、清晏园、金湖水上森林公园等。
导致这几类问题的情况可能如下:
访问已释放的内存;
返回的指针指向的是上次函数调用中的自动变量
在下面这个简单的例子中,我们用malloc函数为一个整数分配内存,接下来,用free函数释放内存:
int *pi = (int*) malloc(sizeof(int));*pi = 5;printf("*pi: %d\n", *pi);free(pi);复制代码pi变量持有整数的地址,但堆管理器可以重复利用这块内存,且其中存放的可能是非整数数据。图2-11说明了free函数执行前后的程序状态。假设pi变量属于main函数,位于地址100,malloc函数分配的内存位于地址500。

图2-11:迷途指针
执行free函数将释放地址500处的内存,此后就不应该再使用这块内存了。但大部分运行时系统不会阻止后续的访问或修改。我们还是可以向这个位置写入数据,如下所示。这么做的结果是不可预期的。
free(pi);*pi = 10;复制代码
还有一种迷途指针的情况更难觉察:一个以上的指针引用同一内存区域而其中一个指针被释放。如下所示,p1和p2都引用同一块内存区域(称为指针别名),不过p1被释放了:
int *p1 = (int*) malloc(sizeof(int));*p1 = 5;...int *p2;p2 = p1;...free(p1);...*p2 = 10; // 迷途指针复制代码
图2-12说明了内存分配情况,虚线框表示释放的内存。

图2-12:迷途指针和指针别名
使用块语句时也可能出现一些小问题,如下所示。这里pi被赋值为tmp的地址,变量pi可能是全局变量,也可能是局部变量。不过当包含tmp的块出栈之后,地址就不再有效:
int *pi;...{
int tmp = 5;
pi = &tmp;}// 这里pi变成了迷途指针foo();复制代码大部分编译器都把块语句当做一个栈帧。tmp变量分配在栈帧上,之后在块语句退出时会出栈。pi指针现在指向一块最终可能被其他活跃记录(比如foo函数)覆盖的内存区域。图2-13说明的就是这种情形。

图2-13:块语句的问题
有时候调试指针诱发的问题会很难解决,以下方法可用来对付迷途指针。
释放指针后置为NULL,后续使用这个指针会终止应用程序。不过,如果存在多个指针的话还是会有问题。因为赋值只会影响一个指针。
写一个特殊的函数代替free函数。
有些系统(运行时或调试系统)会在释放后覆写数据(比如0xDEADBEEF,取决于被释放的对象,Visual Studio会用0xCC、0xCD或者0xDD)。在不抛出异常的情况下,如果程序员在预期之外的地方看到这些值,可以认为程序可能在访问已释放的内存。
用第三方工具检测迷途指针和其他问题。
在调试迷途指针时打印指针的值可能会有所帮助,但需要注意打印的方式。确保用一致的方式打印,从而避免比较指针的值时产生歧义。
微软提供了解决动态分配内存的覆写和内存泄漏的技术。这种方法在调试版程序里用了特殊的内存管理技术:
检查堆的完整性;
检查内存泄漏;
模拟堆内存不够的情况。

连云港网站优化【连云港开通400电话】连云港网站搭建、连云港微信公众号推文外包、连云港开通京东拼多多设计、连云港淘宝装修
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878