Tag: C#的

Win32 – 从C代码回溯

我目前正在寻找一种方法来获取Windows下的回溯信息,从C代码(没有C + +)。 我正在构build一个跨平台的C库,带有引用计数内存pipe理。 它还有一个集成的内存debugging器,提供有关内存错误的信息( XEOS C Foundation Library )。 发生故障时,debugging器启动,提供有关故障的信息以及涉及的存储器logging。 在Linux或Mac OS X上,我可以查找execinfo.h以使用backtracefunction,因此我可以显示有关内存故障的其他信息。 我在Windows上寻找相同的东西。 我见过如何在C中获取堆栈跟踪? 在堆栈溢出。 我不想使用第三方库,所以CaptureStackBackTrace或StackWalkfunction看起来不错。 唯一的问题是,我只是不知道如何使用它们,即使使用Microsoft文档。 我不习惯Windows编程,因为我通常在POSIX兼容系统上工作。 这些function有什么解释,也许是一些例子? 编辑 我现在正在考虑使用DbgHelp.lib函数,因为似乎有一点点的开销… 以下是我迄今为止所尝试的: unsigned int i; void * stack[ 100 ]; unsigned short frames; SYMBOL_INFO symbol; HANDLE process; process = GetCurrentProcess(); SymInitialize( process, NULL, TRUE ); frames = CaptureStackBackTrace( 0, 100, stack, NULL ); […]

当ASP.NET MVC中的file upload超过允许的大小时显示自定义错误页面

我的主要问题是,当上传的文件超过允许的大小(web.config中的maxRequestLength)时,我想显示一个自定义的错误页面。 当上传大文件时,在调用控制器中的上传操作方法之前抛出HttpExceptionexception。 这是预料之中的。 我试图捕捉自定义属性中的exception,并重写控制器中的OnException。 为什么不能在属性或OnException方法中捕获exception呢? 尽pipe可以在Global.asax中的Application_Error中捕获exception,但Response.Redirect和Server.Transfer都不能用于redirect到自定义错误页面。 Server.Transfer给出“无法处理子请求”错误,response.redirect给出“Http头已发送”错误。 有任何想法吗? 提前致谢! 马库斯

有没有一个好的Python库可以parsingC ++?

谷歌没有出现任何相关的东西。 我有一堆现有的,工作的C ++代码,我想用python来抓取它并找出类之间的关系等等。 编辑:只是想指出:我不认为我需要或想要parsingC ++的每一点; 我只是需要一些足够聪明的select类,函数和成员variables声明,并跳过函数定义。

如何在c ++中使用ostream打印无符号字符为hex?

我想在C ++中使用无符号的8位variables。 无论是unsigned char还是uint8_t都可以完成算术运算(这是预期的,因为AFAIK uint8_t只是unsigned char的别名,或者是debugging器提供的。 问题是,如果我在C ++中使用ostream打印出variables,将它视为char。 如果我有: unsigned char a = 0; unsigned char b = 0xff; cout << "a is " << hex << a <<"; b is " << hex << b << endl; 那么输出结果是: a is ^@; b is 377 代替 a is 0; b is ff 我尝试过使用uint8_t ,但正如我之前提到的那样,它是unsigned char的typedef,所以它也是这样。 […]

错误检查的转换function被认为是好的?

我想有一个简单的方法来检查一个对象是有效的。 我想到了一个简单的转换函数,像这样: operator bool() const { return is_valid; } 检查它是有效的,现在是非常简单的 // is my object invalid? if (!my_object) std::cerr << "my_object isn't valid" << std::endl; 这被认为是一个好的做法?

清理指针的STL列表/向量

什么是C ++的最短的块,你可以想出安全地清理向量或指针列表? (假设你必须调用指针删除?) list<Foo*> foo_list; 我宁愿不使用Boost或用智能指针来包装我的指针。

如何实现C ++exception处理运行时?

我对C ++exception处理机制如何工作很感兴趣。 具体来说,exception对象存储在哪里,它如何传播通过几个范围,直到被捕获? 它存储在一些全球性的地区吗? 由于这可能是编译器特定的,有人可以在g ++编译器套件的上下文中解释这一点吗?

将来的.NET版本是否支持C#中的元组?

.Net 3.5不支持元组。 太糟糕了,但不确定未来版本的.net是否会支持元组?

2维列表可能在C#?

我想build立一个多维列表。 作为参考,我正在制作一个播放列表分析器。 我有一个文件/文件列表,我的程序保存在一个标准的列表。 每个列表条目中的文件一行。 然后我用正则expression式来分析列表来查找特定的行。 一些数据/行结果需要被放入一个新的多维列表中; 因为我不知道会有多less结果/数据,所以我不能使用multidimensional array。 这是我想要插入的数据: 名单 ( [0] =>列表 ( [0] =>音轨ID [1] =>名字 [2] =>艺术家 [3] =>相册 [4] =>播放计数 [5] =>跳过计数 ) [1] =>列表 ( 等等…. 实例: 列表([0] =>列表([0] => 2349 [1] =>你生命中的黄金时间=>蠢货朋克[3] =>人类总算[4] => 3 [5] => 2)[1] => List( 所以是的,mlist [0] [0]会从歌曲1获得TrackID,从歌曲2获得mlist [1] [0]等。 但是我在创build一个多维列表时遇到了很多问题。 到目前为止,我已经想出了 List<List<string>> matrix […]

“IB”和“UB”是什么意思?

我已经多次使用过术语“IB”和“UB”,特别是在C ++的情况下。 我试着用Googlesearch,但显然这些双字母组合看到了很多用途。 :P 所以,我问你…当他们被认为是坏事时,他们是什么意思?