当前位置: 首页 > news >正文

[VC] Visual Studio中读写权限冲突

前置场景: 编译没有报错,但是运行提示 内存异常:

情景1: 如下代码运行异常,提示引发了异常:写入权限冲突。*** 是 0xFFFFF.....

    char* str = (char*)malloc(10);str[0] = 0x30;

 解决方案:要包含头文件<stdlib.h> 

情景2: 在FileA文件调用FileB文件的函数,但是在FileA中却没有声明该B函数的原型。

这会导致引发读取访问权限冲突。表现为调用后和原函数内的内存地址不一致。

FileB.c
//函数定义,返回指针类型
char* get_string()
{char* value = "TEST";printf(" value addr=>%p.\n",value); //输出 00007FF7595DA8B0return value;
}FileA.c//在没有声明 get_string()下调用,编译没有出错。  char* pt_str = get_string();printf(" pt_str addr=%p.\n",pt_str );//输出 00000000595DA8B0

可以看出这两个内存是不一样的,虽然低4字节一致,所以引发读取异常。 

解决方案: 在FileA文件头增加 FileB文件的extern函数声明。

http://www.lryc.cn/news/432897.html

相关文章:

  • ChatGPT3.5/4.0新手使用手册,国内中文版使用教程
  • 基于MicroPython的ESP8266与超声波传感器设计方案
  • 仿华为车机UI--图标从Workspace拖动到Hotseat同时保留图标在原来位置
  • C++ 中的 override 和 overload的区别
  • spring boot3框架@Validated失效
  • UE5引擎工具链知识点
  • Python的图像算术与逻辑运算详解
  • WSL 下的 CentOS 装 Docker
  • v0.dev快速开发
  • python之字符串
  • 算法打卡 Day28(回溯算法)-组合总数 + 组合总数 Ⅱ+ 电话号码的字母组合
  • 【Hadoop|MapReduce篇】MapReduce概述
  • 设置Virtualbox虚拟机共享文件夹
  • 从零开始的机器学习之旅
  • 开源还是封闭?人工智能的两难选择
  • Prometheus 服务监控
  • 建模杂谈系列252 规则的串行改并行
  • 0.ffmpeg面向对象oopc
  • KDD2024参会笔记-Day1
  • Java操作Elasticsearch的实用指南
  • 数据库系统 第42节 数据库索引简介
  • C++11 --- 智能指针
  • C#顺序万年历自写的求余函数与周位移算法
  • 【Java并发编程一】八千字详解多线程
  • CentOS 8FTP服务器
  • C++ | Leetcode C++题解之第385题迷你语法分析器
  • 【软件设计师真题】第一大题---数据流图设计
  • 系统架构的发展历程之模块化与组件化
  • 基因组学中的深度学习
  • 解决老师询问最高分数问题的编程方案