HLSL #pragma曾经等同?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HLSL #pragma曾经等同?相关的知识,希望对你有一定的参考价值。
什么是等同于C / C ++ - 就像HLSL中的#pragma once
一样?
我想(作为一个人为的例子):
// ./dependency.hlsl
float x() { return 0; }
// ./shader.hlsl
#include "./dependency.hlsl" // (./ unnecessary; for question readability)
#include "./dependency.hlsl"
与error X3003: redefinition of 'x'
不会失败。我文件顶部的#pragma once
产生一个非错误的warning X3568: 'once' : unknown pragma ignored
并且什么都不做!
答案
使用C / C ++宏类似包含警卫。人为的dependency.hlsl
看起来如下:
#ifndef __DEPENDENCY_HLSL__
#define __DEPENDENCY_HLSL__
float x() { return 0; }
#endif // __DEPENDENCY_HLSL__
以上是关于HLSL #pragma曾经等同?的主要内容,如果未能解决你的问题,请参考以下文章