VS无法找到d3dx9tex.h文件
解决办法:
安卓DirectX 10 开发包 Microsoft DirectX SDK(June 2010)
包含目录和引用目录添加上
“C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include”
和
“C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86”
VS无法找到d3dx9tex.h文件
解决办法:
安卓DirectX 10 开发包 Microsoft DirectX SDK(June 2010)
包含目录和引用目录添加上
“C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include”
和
“C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86”
参考引用:https://stackoverflow.com/questions/33751509/external-assembly-file-in-visual-studio
the project is highlighted in the Solution Explorer and and choose PROJECT - Build Customizations… from the menu.
In the next window tick masm(.targets,.props) and click on OK.
In the Property Page you should see at least:
Excluded From Build (empty) or No
Item Type Microsoft Macro Assembler
InitializeConditionVariable
SleepConditionVariableCS
SleepConditionVariableSRW
WakeAllConditionVariable
WakeConditionVariable // 唤醒睡眠中的条件变量
https://docs.microsoft.com/zh-cn/windows/win32/sync/condition-variables
使用方法
CRITICAL_SECTION CritSection;
CONDITION_VARIABLE ConditionVar;
void PerformOperationOnSharedData()
{
// 锁定临界区
EnterCriticalSection(&CritSection);
// Wait until the predicate is TRUE
while( TestPredicate() == FALSE )
{
// 该函数进入睡眠状态,并释放临界区,当被唤醒时,自动锁定临界区
SleepConditionVariableCS(&ConditionVar, &CritSection, INFINITE);
}
// The data can be changed safely because we own the critical
// section and the predicate is TRUE
ChangeSharedData();
// 释放临界区
LeaveCriticalSection(&CritSection);
// If necessary, signal the condition variable by calling
// WakeConditionVariable or WakeAllConditionVariable so other
// threads can wake
}
该种形式出现于结构体或共用体的定义中,是位域定义的标准形式。
其使用方式为
struct name
{
type var_name : n;
};
含义为,在结构体name汇总,成员变量var_name占用空间为n位。
n为正整数,其值必须小于type类型占用的位数。比如type如果是int,占4字节32位,那么n必须是1~31之间的整数。
对于位域类型的成员,在赋值时如果实际值超过n位所能表达的范围,那么超出部分将会被截掉,只保存低位值。如int var:4,本身只有4位的空间,如果赋值var = 20, 由于20的二进制值为10100,实际为五位,这时var实际被赋值的就是低四位,0100,即4。
由于C语言中的地址是针对字节计算的,所以位域类型的成员变量不支持取地址操作,即对于变量v, 如果存在位域成员变量var,那么&a.var是非法的,编译会出错。
概念
选择一个你需要学习的概念。先拿出一张白纸,把你要学习的这一个概念写在白纸的最上面,比如说数学中勾股定理。
教学
写下你对这个概念的解释,用最简单的语言,假设你正在教一个对这个概念和领域一无所知的人。教的时候,你就会发现,哪些地方你可以说得很清晰,还有哪些地方你自己都解释不明白。那么,解释不清楚的地方,要么就是你的知识还没有完全掌握,要么就是你转述的有问题,没有抓住这个概念的实质,这些就是你需要努力深入学习的部分,这一步更重要的是你可以发现哪些你还不能理解。
简化是检验我们知识的一个非常重要的手段,我们都知道白居易,白居易的诗歌题材广泛,形式多样,语言平易通俗,有“诗魔”和“诗王”之称。白居易作诗力求通俗易懂,明白晓畅。据说他每写一诗,必对家中老妪读之,老太太能理解的就抄录,不明白的就改写。
这种解释方法,爱因斯坦也尝试过用来解释相对论:“你坐在一个漂亮姑娘身边,坐了两小时,感觉上却是一会儿的工夫;而当你夏天紧挨着一个火炉时,哪怕只坐上一会儿,却仿佛已经是一个小时。
费曼有一个著名的“冰水实验”,这个实验是针对美国当时的“挑战者号”航天飞机失事的事故原因做的演示。“挑战者号”航天飞机在空中爆炸,7名宇航员遇难,震惊世界,当时的美国总统里根就召集了很多专家来调查,68岁的费曼就是其中一个。
经过调查,费曼将问题锁定在火箭助推器的 O 型密封圈上。这个密封圈是橡胶做的,有一定的膨胀性,在发射火箭的时候,这个环就保护火箭体的接口,起到密封的作用,防止高温气体接触到燃料舱。但是发射基地的温度又特别冷,在零度以下,密封圈一遇冷就收缩了,在燃料舱开始燃烧的时候,一冷一热,这个密封圈就失效了。
那么,怎么向全国人民解释呢?
费曼就在新闻发布会现场进行了一个非常经典的演示实验。他用镊子夹住橡胶圈泡在冰水里一会,拿出来之后,橡胶圈上都已经有了镊子的痕迹,过了几秒才恢复到原来的状态。这就完美地解释了,挑战者号发射当天温度很低,导致推进器的 O 型密封圈受冷之后不能立刻恢复原状,导致燃料从飞船的连接处泄露从而发生了爆炸。
回顾
把刚才给讲的时候卡壳的部分,重新学习,查各种资料,直到把那些搞不懂的地方全都可以流畅地写在纸上为止。这个过程和上一个复述的过程是可以循环的,只要遇到问题就停下来学习,然后再复述。
简化
当我们把所有的学习概念都弄清楚之后,用自己的话,把这个概念重新转述一遍, 这一步就是对已经学过的知识进行检验。检验自己到底有没有掌握知识,就是讲述、转述给别人听,只要别人能听懂你说的意思,那就说明你自己的学习成功了。
秘笈就这么简单,费曼学习法最重要的就是以输出来倒逼输入,我们习惯了被动的输入,大部分学生学习都是如此,老师讲什么就背什么,理解的东西太少,即使有很多考试,也其实还是考的输入。那么怎么算掌握了呢?就是自己能当老师,当一个普通的老师还是不能完全算掌握,那么费曼被成为老师的老师,就是强调我们要把任何高深的知识都能让一个小白能够听懂。
编程里面,一个比较好的编程实践就是测试驱动开发,什么是测试驱动开发呢?就是开发之前先写测试,这样可以避免开发将来用不到的功能,或者开发的东西不能用。举这个例子是不是非技术人员还是不懂,那么我就简化一下再举个例子,就是比如我们要设计一个产品,我们先设计产品说明书,然后再去开发产品。
其实,记笔记,思维导图都是这种学习方法的一部分,记笔记和脑图都是简化,只不过这种方法很多时候面对的是我们自己,如果不进行输出,那么我们很难检验自己是否真的掌握了。
查看版本信息
nvcc –version
1 | PS C:\Users\YW> nvcc --version |
豆瓣镜像地址:https://pypi.douban.com/simple/
使用镜像源很简单,用-i指定就行了:
1 | # sudo easy_install -i http://pypi.douban.com/simple/ ipython |
查看
conda info –env
conda env list
激活
conda activate myenv
conda dectivate myenv
创建环境
conda create -n myenv python=3.8
删除环境
conda remove -n myenv -all
1 | { |