草庐IT

dynamic-rdlc-generation

全部标签

c++ - VC++ 'Generating Code' 是什么意思?

当在VisualStudio中编译时,编译器会根据自己的判断来输出:1>生成代码...它到底在做什么? 最佳答案 它正在做它所说的:它正在生成机器码。许多编译器将C/C++源代码翻译成一些中间内部表示,然后用作生成实际机器代码的源。VisualC++编译器(与许多其他编译器一样)在批处理中执行此操作:首先它将一堆源文件转换为该中间表示,然后将它们全部转换为机器代码(然后开始处理下一批)。当您看到“生成代码”消息时会发生这种情况。我不知道它究竟是使用什么逻辑将源文件分成批处理。也许它只是按大小工作:一旦到目前为止生成的所有中间表示的总

c++ - VC++ 'Generating Code' 是什么意思?

当在VisualStudio中编译时,编译器会根据自己的判断来输出:1>生成代码...它到底在做什么? 最佳答案 它正在做它所说的:它正在生成机器码。许多编译器将C/C++源代码翻译成一些中间内部表示,然后用作生成实际机器代码的源。VisualC++编译器(与许多其他编译器一样)在批处理中执行此操作:首先它将一堆源文件转换为该中间表示,然后将它们全部转换为机器代码(然后开始处理下一批)。当您看到“生成代码”消息时会发生这种情况。我不知道它究竟是使用什么逻辑将源文件分成批处理。也许它只是按大小工作:一旦到目前为止生成的所有中间表示的总

c++ - dynamic_cast 如何失败?

根据我的阅读,执行错误的运行时dynamic_cast可能会抛出bad_cast异常或返回零。如果你正在转换指针,它会返回零是否正确?即:classBase{virtualvoida(){}};classDerived:publicBase{};intmain(){Base*base=newBase();dynamic_cast(base);return0;}而且它会在转换对象时抛出一个bad_cast异常?即:classBase{virtualvoida(){}};classDerived:publicBase{};intmain(){Basebase;Base&ref=base;d

c++ - dynamic_cast 如何失败?

根据我的阅读,执行错误的运行时dynamic_cast可能会抛出bad_cast异常或返回零。如果你正在转换指针,它会返回零是否正确?即:classBase{virtualvoida(){}};classDerived:publicBase{};intmain(){Base*base=newBase();dynamic_cast(base);return0;}而且它会在转换对象时抛出一个bad_cast异常?即:classBase{virtualvoida(){}};classDerived:publicBase{};intmain(){Basebase;Base&ref=base;d

c++ - 常见问题解答 : Why does dynamic_cast only work if a class has at least 1 virtual method?

这在C++中无法编译:classA{};classB:publicA{};...A*a=newB();B*b=dynamic_cast(a); 最佳答案 因为dynamic_cast只能向下转换多态类型,所以标准这么说。您可以通过向基类添加virtual析构函数来使您的类具有多态性。事实上,你可能应该无论如何(见脚注)。否则,如果您尝试通过A指针删除B对象,您将调用UndefinedBehavior.classA{public:virtual~A(){};};瞧!脚注关于在多态类型中需要虚拟析构函数的“规则”有一些异常(except

c++ - 常见问题解答 : Why does dynamic_cast only work if a class has at least 1 virtual method?

这在C++中无法编译:classA{};classB:publicA{};...A*a=newB();B*b=dynamic_cast(a); 最佳答案 因为dynamic_cast只能向下转换多态类型,所以标准这么说。您可以通过向基类添加virtual析构函数来使您的类具有多态性。事实上,你可能应该无论如何(见脚注)。否则,如果您尝试通过A指针删除B对象,您将调用UndefinedBehavior.classA{public:virtual~A(){};};瞧!脚注关于在多态类型中需要虚拟析构函数的“规则”有一些异常(except

c++ - 如何在我的 C++ 代码中避免 dynamic_cast?

假设我有以下类结构:classCar;classFooCar:publicCar;classBarCar:publicCar;classEngine;classFooEngine:publicEngine;classBarEngine:publicEngine;让我们也给Car一个句柄来处理它的Engine。FooCar将使用FooEngine*创建,BarCar将使用BarEngine*创建。有没有办法安排事情,以便FooCar对象可以调用FooEngine的成员函数而无需向下转换?这就是为什么类结构是现在这样布置的原因:所有Car都有一个Engine。此外,FooCar只会使用Fo

c++ - 如何在我的 C++ 代码中避免 dynamic_cast?

假设我有以下类结构:classCar;classFooCar:publicCar;classBarCar:publicCar;classEngine;classFooEngine:publicEngine;classBarEngine:publicEngine;让我们也给Car一个句柄来处理它的Engine。FooCar将使用FooEngine*创建,BarCar将使用BarEngine*创建。有没有办法安排事情,以便FooCar对象可以调用FooEngine的成员函数而无需向下转换?这就是为什么类结构是现在这样布置的原因:所有Car都有一个Engine。此外,FooCar只会使用Fo

c++ - 什么可能导致 dynamic_cast 崩溃?

我有一段代码看起来像这样:TAxis*axis=0;if(dynamic_cast(obj))axis=(dynamic_cast(obj))->GetXaxis();有时它会崩溃:Thread1(Thread-1208658240(LWP11400)):#00x0019e7a2in_dl_sysinfo_int80()from/lib/ld-linux.so.2#10x048c67fbin__waitpid_nocancel()from/lib/tls/libc.so.6#20x04870649indo_system()from/lib/tls/libc.so.6#30x048709

c++ - 什么可能导致 dynamic_cast 崩溃?

我有一段代码看起来像这样:TAxis*axis=0;if(dynamic_cast(obj))axis=(dynamic_cast(obj))->GetXaxis();有时它会崩溃:Thread1(Thread-1208658240(LWP11400)):#00x0019e7a2in_dl_sysinfo_int80()from/lib/ld-linux.so.2#10x048c67fbin__waitpid_nocancel()from/lib/tls/libc.so.6#20x04870649indo_system()from/lib/tls/libc.so.6#30x048709