小编Ale*_*319的帖子

找出类型是否实现了通用接口

假设我有一个类型MyType.我想做以下事情:

  1. 找出MyType是否为某些T实现了IList接口.
  2. 如果(1)的答案为是,请找出T是什么.

看起来这样做的方法是GetInterface(),但这只允许您按特定名称进行搜索.有没有办法搜索"IList形式的所有接口"(如果可能的话,如果接口是IList的子接口,它也会有用.)

相关:如何确定类型是否实现特定的通用接口类型

.net c# reflection

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

你把功能文档放在哪里以便它显示在intellisense上?

我正在编写一个库,我想把文档放在我的函数中,这样它就会显示在intellisense中,有点像内置函数的intellisense如何显示每个参数和函数本身的描述.你怎么把文件放进去?它是通过函数中的注释还是在一些单独的文件中?

.net c# intellisense

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

你如何在OpenGL中获得模型视图和投影矩阵?

我试图使用OpenGL着色语言(GLSL)1.5版来制作顶点和几何着色器.

我已经了解到在GLSL 1.5版中,gl_ModelViewProjectionMatrix不推荐使用内置变量,所以你必须手动传递它们.如果我已经设置了模型视图和投影矩阵(使用gluLookAtgluPerspective例如),那么如何让矩阵传递到顶点和几何着色器?我做了一些搜索,一些网站似乎提到了一个函数glGetMatrix(),但我在任何官方文档中找不到该函数,并且它似乎不存在于我正在使用的实现中(unknown identifier: glGetMatrix当我得到编译错误时)尝试用该函数编译它).

opengl glsl

27
推荐指数
2
解决办法
4万
查看次数

如何使用GLUT/OpenGL渲染文件?

我有一个程序模拟随时间变化的物理系统.我希望以预定的间隔(例如每10秒)输出模拟状态到文件的可视化.我想以这样的方式做到这一点,即很容易"关闭可视化"而根本不输出可视化.

我正在将OpenGL和GLUT作为图形工具来进行可视化.然而问题似乎是,首先,它看起来只是输出到窗口而无法输出到文件.其次,为了生成可视化,您必须调用GLUTMainLoop并停止执行main函数 - 从那时起调用的唯一函数是来自GUI的调用.但是我不希望这是一个基于GUI的应用程序 - 我希望它只是一个从命令行运行的应用程序,它会生成一系列图像.有没有办法在GLUT/OpenGL中执行此操作?或者OpenGL完全是错误的工具,我应该使用别的东西

opengl graphics glut visualization

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

将多维数组转换为c ++中的指针

我有一个如下所示的程序:

double[4][4] startMatrix;
double[4][4] inverseMatrix;
initialize(startMatrix) //this puts the information I want in startMatrix
Run Code Online (Sandbox Code Playgroud)

我现在想要计算startMatrix的反转并将其放入inverseMatrix.我有一个用于此目的的库函数,其原型如下:

void MatrixInversion(double** A, int order, double** B)
Run Code Online (Sandbox Code Playgroud)

取A的倒数并将其放入B.问题是我需要知道如何将double [4] [4]转换为双**以赋予函数.我尝试过"明显的方式":

MatrixInversion((double**)startMatrix, 4, (double**)inverseMatrix))
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.这实际上是正确的方法吗?

c++ pointers multidimensional-array

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

如何在Matlab中分析MEX函数

我有一个Mex函数(c ++函数,你可以从Matlab调用),我已经编写了,我想用valgrind/kcachegrind来描述它.如果你直接运行一个c ++程序,我知道如何使用valgrind/kcachegrind,但如果我从Matlab调用c ++程序,有没有办法进行这种分析?

c++ matlab profiling mex

14
推荐指数
2
解决办法
4794
查看次数

如何从Visual Studio解决方案文件创建makefile?

我有一个Visual Studio项目,它使用解决方案文件来构建它.我想生成一个makefile,以便我可以使用makefile而不是解决方案文件来构建它.(我之所以需要这样做是因为你想知道我将我的项目整合到一个使用makefile构建的更大的软件系统中,我希望能够使用makefile构建整个东西.)

有没有办法从Visual Studio解决方案中自动获取信息并将其转换为makefile格式,还是需要手动执行此操作?

makefile visual-studio

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

为unordered_map定义自定义散列函数和相等函数

我试图定义一种具有自定义散列函数和相等比较函数的unordered_map.这些函数的函数原型如下:

//set<Vertex3DXT*> is the type of the key; Cell3DXT* is the type of the value
size_t VertexSetHashFunction(set<Vertex3DXT*> vertexSet); //hash function
bool SetEqual(set<Vertex3DXT*> a, set<Vertex3DXT*> b); //equality
Run Code Online (Sandbox Code Playgroud)

我声明了这些函数原型,然后我尝试声明类型如下:

typedef std::tr1::unordered_map<set<Vertex3DXT*>, Cell3DXT*, VertexSetHashFunction, SetEqual> CellDatabaseMapType;
Run Code Online (Sandbox Code Playgroud)

但它表示VertexSetHashFunction和SetEqual不是有效的模板类型参数.文档很混乱,因为它没有准确说明模板参数应该是什么类型 - 我只是应该给它像我在这里做的那样,或者是否有一些其他类型的对象封装了函数(因为文档确实谈到"哈希函数对象类型")?

c++ templates unordered-map

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

OpenGL着色器的性能分析

是否有可用的工具可以对OpenGL着色器进行性能分析?

opengl profiling glsl

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

如何在MATLAB中识别数据存储在数组范围之外的位置?

我正在尝试使用MATLAB Coder将代码从Matlab转换为MEX文件.如果我有以下格式的代码段:

x = zeros(a,1)
x(a+1) = 1
Run Code Online (Sandbox Code Playgroud)

然后在Matlab中,这将调整数组大小以适应新元素,而在MEX文件中,这将给出"索引超出矩阵尺寸"错误.我希望代码中有很多地方可以发生这种情况.

我想要做的是运行代码的MATLAB版本(不使用编码器)但是MATLAB在调整数组大小时会生成错误或警告,因为我分配了一些超出边界的东西.(我可以使用MEX文件查看错误弹出的位置,但这需要每次更改代码时使用MATLAB Coder重建整个MEX文件,这需要一段时间.)

有没有办法做到这一点?在MATLAB中是否有任何类型的设置将关闭"如果分配到越界索引时自动调整大小",或者如果发生这种情况则发出警告?

arrays matlab matlab-coder

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