小编Joe*_*Joe的帖子

从C#中的文本文件中读取数字

这应该是非常简单的.我只是想从一个由空格分隔的标记组成的文本文件中读取数字和单词.你是怎么用C#做的?例如,在C++中,以下代码将用于读取整数,浮点数和单词.我不想使用正则表达式或编写任何特殊的解析代码.

ifstream in("file.txt");
int int_val;
float float_val;
string string_val;
in >> int_val >> float_val >> string_val;
in.close();
Run Code Online (Sandbox Code Playgroud)

此外,每当读取令牌时,应该读入令牌之外的不超过一个字符.这允许进一步的文件读取取决于读取的令牌的值.作为具体的例子,考虑一下

string decider;
int size;
string name;

in >> decider;
if (decider == "name")
    in >> name;
else if (decider == "size")
    in >> size;
else if (!decider.empty() && decider[0] == '#')
    read_remainder_of_line(in);
Run Code Online (Sandbox Code Playgroud)

解析二进制PNM文件也是一个很好的例子,说明为什么要在读入完整令牌后立即停止读取文件.

c# text file

19
推荐指数
2
解决办法
7万
查看次数

简明的SSE和MMX指令参考,具有延迟和吞吐量

我试图通过使用内联汇编的MMX和SSE指令集来优化某些算法.但是,我无法找到这些增强指令集的时序和用法的良好参考.你能否帮我找一些参考文献,其中包含有关吞吐量,延迟,操作数以及说明的简短描述的信息?

到目前为止,我发现:

英特尔指令参考 英特尔64和IA-32架构开发人员手册:Vol.2AIntel 64和IA-32架构开发人员手册:Vol.2B

英特尔优化指南 http://www.intel.com/Assets/PDF/manual/248966.pdf

整数运算计时 http://gmplib.org/~tege/x86-timing.pdf

assembly sse reference manual mmx

12
推荐指数
2
解决办法
4717
查看次数

cudaArray与设备指针

我对设备指针和cudaArray结构的预期用途之间的区别感到困惑.有人可以解释为什么我会使用一个与另一个?我的基本问题是,在查看文档并阅读"CUDA by Example"一书后,我不明白API设计者的意图.

从我所看到的,似乎cudaArray应该用于纹理和指针应该用于直接访问内存.似乎3D纹理只能使用a创建cudaArray.是否应该使用cudaArray?分配所有纹理?许多例子似乎都没有.另外,为什么有一个函数cudaMallocArraycudaMallocArray3D,但没有类似cudaMallocArray2D?相反,有cudaBindTexturecudaBindTexture2D,但没有cudaBindTexture3D

arrays textures cuda

10
推荐指数
1
解决办法
5423
查看次数

如何在 Visual Studio 的 C++ 中禁用 /// 注释自动完成?

我正在 .cpp 文件中编写 C++ 代码。直到最近(更新到 Microsoft Visual Studio Community 2019 版本 16.8.3),过去输入 /// 就可以做到这一点。现在有一个自动完成功能,其中 /// 被以下形式的内容替换:

/// <summary>
/// 
/// </summary>
/// <param name="model"></param>
Run Code Online (Sandbox Code Playgroud)

我知道这是试图帮助记录功能,但我没有使用自动文档生成。如何禁用我的文本被替换?

我不想完全禁用智能感知,但我想禁用任何自动替换或增强我输入的内容,这些内容没有得到我的明确批准,例如按选项卡。我已经禁用了自动大括号补全和 /// 的 C# XML 文档补全。

intellisense comments autocomplete visual-studio-2019

3
推荐指数
1
解决办法
1424
查看次数

内联汇编器获取指针的地址 Visual Studio

我在 VS 中有一个函数,我在其中传递一个指向该函数的指针。然后我想将指针存储在寄存器中以进一步操作。你是怎样做的?

我努力了

float __declspec(align(16)) x[16] = 
{
    0.125000, 0.125000, 0.125000, 0,
    -0.125000, 0.125000, -0.125000, 0,
    0.125000, -0.125000, -0.125000, 0,
    -0.125000, -0.125000, 0.125000, 0
};

void e()
{
    __asm mov eax, x // doesn't work
    __asm mov ebx, [eax]
}

void f(float *p)
{
    __asm mov eax, p // does work
    __asm mov ebx, [eax]
}

int main()
{
    f(x);
    e();
}
Run Code Online (Sandbox Code Playgroud)

assembly inline-assembly visual-studio visual-c++

1
推荐指数
1
解决办法
4951
查看次数

使用GeForce 960M在笔记本电脑上初始化D3D12调试接口失败

当我尝试使用标志DXGI_CREATE_FACTORY_DEBUG调用D3D12GetDebugInterface或CreateDXGIFactory2时,我的笔记本电脑上的呼叫失败,但我的桌面上没有.其他调用在笔记本电脑上正常工作,我可以渲染东西 - 我无法初始化调试层.台式机有一个老式的GeForce 650 Ti,笔记本电脑是戴尔XPS15笔记本电脑(最新款),配备GeForce GTX 960M.两者都有最新的驱动程序(361.43).什么想法可能会出错?

我首先在NVIDIA devtalk论坛上发布,但是交叉发布到stackoverflow,因为官方的NVIDIA论坛似乎已经死了.

windows directx graphics direct3d direct3d12

1
推荐指数
1
解决办法
876
查看次数