[原创]代码中的一个小疑问

在FILELIB4中的例程中,有这么一段: #if DISK_BASE_BUF_LEN == 0 pDISK_BASE_BUF = &my_buffer[0]; /* 不在.H文件中定义CH375的专用缓冲区,而是用缓冲区指针指向其它应用程序的缓冲区便于合用以节约RAM */ #endif 这里的my_buffer的定义怎么找不到呢?

这个是条件编译,如果DISK_BASE_BUF_LEN为0则启用下面的程序。而本身DISK_BASE_BUF_LEN不为0则不启用。


我知道啊,但是这里的my_buffer这个变量找不到定义啊,如果要运行的话,不会出错吗?


不会啊,条件编译相当于把这部分屏蔽掉了。


我的意思是假如这句DISK_BASE_BUF_LEN == 0通过的话,那不就是要运行下面的pDISK_BASE_BUF = &my_buffer[0]; 这句了吗?


这里只是做个比方,假如DISK_BASE_BUF_LEN == 0的话,你可以把my_buffer换成你应用程序的缓冲区从而来节约RAM。


只有登录才能回复,可以选择微信账号登录