在C的头文件中定义的结构体,如何在cpp文件中引用
解决方案1:在cpp文件中放置.c,且在该文件中引用变量

解决方案2:在一个cpp文件中包含.c,但在另一个cpp文件中使用结构体变量
cpp文件1

cpp文件2
#include "dialog3.h"
#include <QDebug> extern "C"
{
typedef struct PRINT
{
unsigned char Parameters;//BitDepthAC,BitDepthDC,q
unsigned char PlaneCodes;//指定段的某一个位平面所有的码流
unsigned char PlaneCodesSeparate;//指定段某个位平面的所有码流,不同的码字是分开的
unsigned char PlaneIndex;
unsigned char PlaHit;
unsigned char AllCodesPrint;//所有的码流,并行,串行
unsigned short SegIndex;
unsigned char SegHit;
unsigned int BlockIndex;
unsigned char BlockHit;
unsigned char BlockScanPrint;//指定段中某个块的扫描字
unsigned char Option;
unsigned char WordToCode;
unsigned char BlockCodes;//single block
unsigned char GagHit;
unsigned int GagIndex;
unsigned char BlockBeforeScan;
unsigned char Header;
unsigned char DC_DPCM;
unsigned char DC_RiceCodes;
unsigned char AC_Depth_DPCM;
unsigned char AC_DepthRiceCodes;
unsigned char DC_Additional;
unsigned char DC_Refinement;
unsigned char Stage1;
unsigned char Stage2;
unsigned char Stage3;
unsigned char Stage4;
unsigned char DWT_PRINT;
unsigned char IDWT_PRINT; unsigned char PlaneTime_Print;
unsigned char ScanTime_Print; }PrintPara; extern PrintPara Print; } Dialog3::Dialog3(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this); ui.checkBox_3->setChecked(true);
ui.checkBox_4->setChecked(true);
}
不知道是什么原因,但是实验证明可行
在C的头文件中定义的结构体,如何在cpp文件中引用的更多相关文章
- extern的原理很简单,就是告诉编译器:“你现在编译的文件中,有一个标识符虽然没有在本文件中定义,但是它是在别的文件中定义的全局变量,你要放行!”
extern的原理很简单,就是告诉编译器:“你现在编译的文件中,有一个标识符虽然没有在本文件中定义,但是它是在别的文件中定义的全局变量,你要放行!”
- 【2016-08-18】转载:总结C++中几种结构体初始化的方法
作者:Ac_Von 博客地址:http://www.cnblogs.com/vongang/ 文章地址:http://www.cnblogs.com/vongang/archive/2011/07/3 ...
- 黑马程序员——Foundation中的OC结构体
<span style="font-size:14px">------<a target="_blank" href="http:/ ...
- C语言中的结构体和C++中的结构体以及C++中类的区别
c++中结构体可以定义一个函数 C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数. C++中的结构体和类的异同: 一. ...
- 指针直接赋值为整型AND利用宏定义求结构体成员偏移量
首先我们要更正一个很熟悉的概念,那就是指针不仅仅是“地址”,指针还有一个很重要的特性,那就是“类型”. 指针初始化时,“=”的右操作数; 除外,该语句表示指针为空): 所以 ; 这样的代码是不允许的. ...
- MFC中的NMHDR结构体和NMUPDOWN结构体
建立spin控件,创建UDN_DELTAPOS一个消息函数后: void CSpinDlg::OnDeltaposSpin1(NMHDR* pNMHDR, LRESULT* pResult) { NM ...
- OC中常见的结构体,以及NSNumber、NSValue、NSDate的使用
常见的结构体 NSPoint和CGPoint NSSize和CGSize NSRect 和 CGRect NSPoint和CGPoint的使用 NSPoint和CGPoint是同义的 typedef ...
- struct结构体在c和c++中的差别
非常多次遇到这个struct的问题,今天在这里简单总结一下我的理解 一.struct在C 中的使用 1.单独使用struct定义结构体类型 struct Student { int id; int n ...
- 剔除list中相同的结构体数据
剔除list中相同的结构体数据,有三个思路:1.两层循环,逐个比较 2.使用set容器来剔除 3.使用unique方法去重 // deduplication.cpp : 定义控制台应用程序的入口点. ...
随机推荐
- Zabbix——异常问题处理
报错: zabbix server is not running: the information displayed may not be current 解决: selinux关闭.开启selin ...
- 使用nginx对spring boot项目进行代理
摘要:使用nginx对spring boot项目进行反向代理,并且使用轮询均衡负载策略 均衡负载与集群 集群和均衡都涉及到多个机器提供的服务的问题 不同点是,集群是互相通信.协同的的多个服务,服务之前 ...
- 转:Java子线程中的异常处理(通用)
引自:https://www.cnblogs.com/yangfanexp/p/7594557.html 在普通的单线程程序中,捕获异常只需要通过try ... catch ... finally . ...
- Java OOP——第三章 多态
1.多态:(polymorphism): 是具有表现多种形态能力的特征: (专业化的说法:)同一个实现接口(引用类型),使用不同的实例而执行不同的操作 指一个引用(类型)在不同情况下的多种状态.也可以 ...
- 一道SQL面试题——表行列数据转换(表转置)
SQL语句如下: select country, sum(case when type='A' then money end) as A, sum(case when type='B' then mo ...
- 百度app红包? 百度全家桶?果断卸载
听说今年的春晚红包与百度合作.这不 刚又下载了一个百度app,之前下载过,太卡了,用户体验极.本身对百度也没啥好感,再加上这周看了:百度已死的文章,搜索全百家号.具体啥情况,你们百度搜一搜吧
- py函数初识
一. 什么是函数 1. 我们到目前为止, 已经可以完成一些软件的基础功能了. 那么我们来完成这样一个功能: 约x print("拿出手机") print("打开陌&quo ...
- Sqoop帮助文档
1.列出MySql数据库中的所有数据库 $ sqoop list-databases --connect jdbc:mysql://192.168.254.105:3306/--username ro ...
- FireDAC 连接Access (accdb)数据库
FireDAC可以方便连接数据库,但是要连接新版本的accdb数据库,要注意这样的事项(以Office2010版为例) 安装Office2010 x86版,注意,不能安装x64版,因为Delphi I ...
- Java:位移运算符
Java中有三个位移运算符,用于对int类型整数的二进制补码进行操作: 1. "<<": 左移运算符 在二进制补码末尾添加“0”,之前的其他位相当于左移了一位,可看作成 ...