typedef和#ifdef以及流水线的一些理解

本文探讨了typedef的用法,强调了它与#define的区别,并提供了Vivado HLS中的应用示例。接着讲解了C语言中的ifdef及其在防止头文件重复包含中的作用。还介绍了流水线的概念,通过算法流水操作和咖啡店服务的类比,阐述了流水线提高吞吐率和延迟的原理。最后,提到了数据流优化在硬件电路设计中的应用。
摘要由CSDN通过智能技术生成

关于typedef用法

有两个地方讲的挺好的
https://www.zhihu.com/question/29798061/answer/144423125
https://blog.csdn.net/superhoy/article/details/53504472

struct tagPOINT1
{
    int x;
    int y;
};
struct tagPOINT1 p1; 
typedef struct tagPOINT
{
    int x;
    int y;
}POINT;
POINT p1; // 这样就比原来的方式少写了一个struct,比较省事,尤其在大量使用的时候

上面第二种的写法以前写过,却知其然不知所以然。
需要注意typedef与#define的区别,define只是简单的编辑器文本替换

在vivadoHLS的程序中也有使用,例如

#define IN_A_ROWS 5
#define IN_A_COLS 5
#define IN_B_ROWS 5
#define IN_B_COLS 5

typedef char mat_a;
typedef char mat_b;

void matrix_mult(
      mat_a a[IN_A_ROWS][IN_A_COLS],
      mat_b b[IN_B_ROWS][IN_B_COLS],
      mat_prod prod[IN_A_ROWS][IN_B_COLS])//定义函数入口
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值