我找不到另一个已经被问到这个问题的话题,所以我开始了......如果有的话,请随时链接并关闭它.
您认为Visual C++最缺少什么功能?
微软已经为最近几个版本的C#/ VB.NET开发添加了很好的功能,但是C++有点被忽视了.我对其他IDE没有太多经验,但在过去的五年中,人们喜欢C++ IDE开发必须有一些进展.我很好奇人们认为Visual C++中缺少的最缺乏的功能.
笔记:
正是标题所说的.我正在使用MSVC++ 2008 express,并且在发布模式下编译时我的类构造函数永远不会被执行.它可以在调试模式下工作.
我做的事情如下:
ClassTest test;
test.DoIt();
Run Code Online (Sandbox Code Playgroud)
在断点DoIt();触发,但在断点ClassTest::ClassTest();没有.
我想编写一个简单的应用程序,能够从另一个进程(应用程序)的已分配内存中检索某些特定数据.
假设我已经知道一个进程'id并且我想在这个进程中获得一个值'内存总是来自一个固定的偏移量(如0x523F1C),这在用户模式下是可行的,还是必须在内核模式下?
任何提示或信息都非常感谢.
我的环境是Windows XP,我使用Visual C++和Qt进行GUI.
提前致谢 :)
编辑:
(a)谢谢你们.基本上它正在工作(当设置一个断点并挂钩它正确的值),但是当做正常的释放构建时,获得的值总是初始化:(
必须更加努力才能弄明白......
(b)由于我试图获取价值的应用程序不是由我编写的,我还可以进行进程间通信/共享内存技术吗?
编辑2:
再次感谢您的快速反应!:d
你会如何以像我这样的新手程序员理解的方式解释"符号"?
这些是什么?它们是某种功能映射吗?
我想学习更高级的调试技术,这个术语对我来说是一个障碍.
int main() {
struct WorkItem {
int node;
unsigned predecessorIndex = 0;
};
auto x = WorkItem { 0 };
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这段代码可以用 Clang 编译,但不能用 GCC:
source_file.cpp:在函数“int main()”中:
source_file.cpp:9:25: 错误:没有匹配的函数调用'main()::WorkItem::WorkItem()' auto x = WorkItem { 0 }; ^
source_file.cpp:9:25: 注意:候选人是:
source_file.cpp:4:10: 注意:main()::WorkItem::WorkItem() struct WorkItem { ^
source_file.cpp:4:10: 注意:候选人需要 0 个参数,1 个提供
source_file.cpp:4:10: 注意:constexpr main()::WorkItem::WorkItem(const main()::WorkItem&)
source_file.cpp:4:10: 注意:参数 1 从 'int' 到 'const main()::WorkItem&' 没有已知的转换
source_file.cpp:4:10: 注意:constexpr main()::WorkItem::WorkItem(main()::WorkItem&&)
source_file.cpp:4:10: 注意:参数 1 从 'int' 到 'main()::WorkItem&&' 没有已知的转换
或 MSVC:
source_file.cpp(9):错误 C2440:“正在初始化”:无法从“初始化列表”转换为“main::WorkItem” …
根据代码“CArray>& results”,我无法在 MFC 中创建二维数组。代码:
CArray<CArray<CString>> res;
CArray<CString>strArray1;
strArray1.Add(L"Ali");
strArray1.Add(L"Ahmed");
strArray1.Add(L"Mark");
CArray<CString>strArray2;
strArray2.Add(L"1");
strArray2.Add(L"2");
strArray2.Add(L"3");
res.Add(strArray1);
res.Add(strArray2);
Run Code Online (Sandbox Code Playgroud)
执行后错误:错误 C2248:“CObject::operator =”:无法访问在类“CObject”中声明的私有成员
这应该在不覆盖 CArray 中的 copy 和 equals 方法的情况下完成,而是有什么方法可以让我不需要像某些可以利用的 CArray 方法那样间接地使用它们。
我在 VC++ 6 中有一个使用位图的项目。我想以编程方式提取一些位图并另存为 .bmp 文件。
请给我一些建议。
这些是我想做的几个步骤。
提前致谢
乌尔卡
我正在尝试将一个项目从 VS2013 升级到 VS2017。除了一件事之外,我一切都在工作 - 调用 printf 时遇到了崩溃。崩溃是这样的:
Unhandled exception at 0x0073910C in exename.exe: An invalid parameter was passed to a function that considers invalid parameters fatal.
exename.exe!_invoke_watson(const wchar_t * expression, const wchar_t * function_name, const wchar_t * file_name, unsigned int line_number, unsigned int reserved) Line 224 C++
exename.exe!_invalid_parameter(const wchar_t * const expression, const wchar_t * const function_name, const wchar_t * const file_name, const unsigned int line_number, const unsigned int reserved) Line 112 C++
exename.exe!_invalid_parameter_noinfo() Line 117 C++
exename.exe!_isatty(int fh) …Run Code Online (Sandbox Code Playgroud) 我正在为我的考试而学习,我遇到了这个例子,它有一行说:
for(;i<=m;i++)
Run Code Online (Sandbox Code Playgroud)
我不明白的是为什么;前面没有任何东西?它有什么作用?这是什么意思?
我正在尝试通过函数使用 C++ 的标准库创建线程。
#include <iostream>
#include <thread>
using namespace std;
void print()
{
printf("PRINT\n");
printf("PRINT2\n");
}
void createThread()
{
thread newThread(print);
}
int main()
{
createThread();
cin.get();
}
Run Code Online (Sandbox Code Playgroud)
程序编译并运行,但一旦线程完成,它就会创建一个“调试错误”。有什么想法吗?
visual-c++ ×10
c++ ×8
visual-c++-6 ×2
c ×1
clang ×1
class ×1
constructor ×1
debugging ×1
gcc ×1
ide ×1
mfc ×1
release ×1
symbols ×1