介绍 (Introduction)

本文是有关C / C ++ Visual Studio Express调试器的系列文章中的第一篇。 它提供了使用调试器的快速入门指南。 第2部分重点介绍断点中的其他主题。 最后,第3部分将重点介绍监视窗格,检查内存块以及查看堆栈框架不同级别的内存。

Part 2:   第2部分 : Breakpoint Tips断点提示

Part 3:   第3部分 : Watch, Memory, Stack Tips 监视,内存和堆栈提示

开始学习的动力 (Motivation To Begin Learning)

NOTE: If you just want to get started quickly using the debugger, then SKIP this Motivational paragraph.

注意

This article is intended to help students become quickly comfortable with the VS 2008 Express Debugger.  Students beginning in their study of C/C++ may shun the use of the very powerful symbolic debugger because of their belief that the learning curve is too prohibitive; after all, they have been successfully writing and debugging programs for the first couple of months using print statements.  But as the programs become a little longer and bugs creep in – and now, for some reason, it is harder to track down the problems.  The purpose of this article is to demonstrate that in a few minutes, a student can learn enough to significantly improve their productivity in completing assignments.

本文旨在帮助学生快速熟悉VS 2008 Express Debugger。 刚开始学习C / C ++的学生可能会避免使用功能非常强大的符号调试器,因为他们认为学习曲线过于严格。 毕竟,他们已经使用打印语句在头几个月成功地编写和调试了程序。 但是随着程序变得更长一些,并且漏洞不断蔓延–现在,由于某种原因,要找出问题变得更加困难。 本文的目的是演示在几分钟内,学生可以学到足够的知识,从而显着提高完成作业的效率。

Some of the website tutorials on this topic are too comprehensive for a beginner who desires to quickly get started with this debugger.  Learning just what is described below can save many hours in a homework assignment and many weeks over all your computer classes.  For those who want to learn everything about the VS Symbolic debugger, see the MS Debugger Road-map.

对于希望快速入门此调试器的初学者而言,一些有关此主题的网站教程过于全面。 仅学习下面描述的内容,就可以节省很多家庭作业时间,并且可以节省所有计算机课程的时间。 对于那些想了解有关VS Symbolic调试器的一切的人,请参阅《 MS Debugger Road-map》 。

TABLE OF CONTENTS目录

1. Building Program with Symbolic Debugging 1.使用符号调试构建程序

1.2. Building a C Program

1.2。 建立一个C程序

2. Program Navigation 2.程序导航

2.2. Starting the Program and Hitting Breakpoints

2.2。 启动程序并达到断点

2.3. Stepping Through the Program

2.3。 单步执行程序

2.4. Setting the Next Statement to Execute

2.4。 设置要执行的下一条语句

2.5. Caveat: Console Interaction with Debugger

2.5。 警告:控制台与调试器的交互

3. Examining and Modifying Variable Values 3.检查和修改变量值

3.2. Quick Watch

3.2。 快速观看

3.3. Autos and Locals Tab

3.3。 汽车和当地人标签

3.4. Modifying a Variable Value

3.4。 修改变量值

4. Command Line Arguments4.命令行参数

5. Stopping the debugger5.停止调试器

6. Time to Practice 6.练习时间

After becoming familiar with this short article, you may find interesting additional tips on the debugger breakpoint facility.  See this article for more on breakpoints.

熟悉了这篇简短的文章之后,您可能会在调试器断点工具上找到有趣的其他提示。 有关断点的更多信息,请参见本文 。

Summary of Keyboard Commands Used in this Article本文中使用的键盘命令摘要

F5  – Start Debugging; or continue DebuggingF5 –开始调试; 或继续进行调试

F10 – Step over next lineF10 –越过下一行

F11 – Step into function or methodF11 –进入功能或方法

F9   – Set/Unset BreakpointF9 –设置/取消断点

<Ctrl+Shift+F5> –  Restart Program Debugging<Ctrl + Shift + F5> –重新启动程序调试

<Ctrl+Shift+F10> –  Set position of next statement to execute <Ctrl + Shift + F10> –设置要执行的下一条语句的位置

1.使用符号调试构建程序 (1. Building a Program with Symbolic Debugging)

通过符号调试,您可以在逐步执行程序时查看符号的值。 而且,它还允许您在希望程序停止的地方设置断点。 对于本文,我建立了一个“ General Empty”项目。 该项目将读取大量拼字游戏,并确定列表中最大的七字组。

After becoming comfortable with the techniques described in this article, there are a few more tips that may be useful for more complicated projects that you can read about in  this follow-on article.

在熟悉了本文介绍的技术之后,还有一些其他技巧可能对您在后续文章中可以阅读的更复杂的项目有用。

1.1。 在调试模式下构建 (1.1. Building in Debug Mode)

为了能够进行符号调试,您必须以“调试模式”而不是“发布模式”进行构建,否则调试器将无法使用必需的符号。 下图显示了如何在更改默认调试模式设置的情况下进行设置。 请参见图1,以了解如何将构建设置为“调试模式”:

Figure 1 Debug Mode 图1调试模式

The advantage of Release Mode is that it is usually more efficient since the compiler is able to better optimize the code. The advantage of Debug Mode is that you do not have to add print statements to debug your code and figure out what your program is doing.

发布模式的优点是通常效率更高,因为编译器能够更好地优化代码。 调试模式的优点是您不必添加打印语句即可调试代码并弄清楚程序在做什么。

1.2。 建立一个C程序 (1.2. Building a C Program)

使用Visual Studio 2008 Express符号调试器,可以调试C ++或C程序。 对于C程序,请确保文件扩展名是.c而不是.cpp,否则将适用C ++规则。 当您提交作业时,现在作为C ++程序适用的功能可能无法编译。

2.程序导航 (2. Program Navigation)

本节介绍如何理解程序的控制流。 例如,您将能够确定是否到达某些代码行,如果没有到达,请帮助确定为什么不行。

2.1。 断点 (2.1. Breakpoints)

在获得要编译和生成的程序后(最好没有警告),您可以设置断点。 断点放在代码行中,您希望程序停止在该行上,以便您可以验证该程序到达了应该到达的位置,并且在达到断点时变量具有预期值。

To set a breakpoint, put the cursor on the line of interest, and hit F9.  Hitting F9 again will remove a breakpoint; or you may be able to just click on a vertical gray strip to the left of that line, and a red breakpoint circle symbol appears; and another click on the symbol removes it.  You can set many breakpoints if desired.  After setting a breakpoint (as shown in Figure 2), you will see a red breakpoint circle.

要设置断点,请将光标放在感兴趣的行上,然后按F9 。 再次击中F9将删除断点。 或者,您也可以单击该行左侧的垂直灰色条,然后出现一个红色的断点圆圈符号; 然后再次单击该符号将其删除。 如果需要,可以设置许多断点。 设置断点后(如图2所示),您将看到一个红色的断点圆圈。

Figure 2 Set Breakpoint 图2设置断点

It is useful to set a breakpoint at the last return in the main function so that the program stops for your inspection before exiting.  By doing this, you do not need a getchar() statement at the end of the program to prevent the console from closing before you have a chance to review the output.

在主函数的最后一个返回处设置一个断点非常有用,这样程序在退出之前就停止检查。 这样,您不需要在程序末尾使用getchar()语句来防止控制台关闭,您才有机会查看输出。

2.2。 启动程序并达到断点 (2.2. Starting the Program and Hitting Breakpoints)

After setting breakpoints, hit Debug -> Start Debugging (or just F5) as shown in Figure 3:

设置断点后,单击Debug-> Start Debugging (或仅F5 ),如图3所示:

Figure  3 Start Debugging F5 图3开始调试F5

The program will run as usual with the windows console being displayed.  But when the program hits a breakpoint, it will stop.  You should see a program pointer (a yellow arrow within the red circle - see Figure 4) at the line where the program stopped.

该程序将正常运行,并显示Windows控制台。 但是,当程序达到断点时,它将停止。 您应该在程序停止的那一行看到程序指针(红色圆圈内的黄色箭头-见图4)。

Figure  4 Hit breakpoint and Hover 图4命中断点和悬停

The program hit line 47 (which happens to be in a function).  If you hover the mouse over the variable “word” in line 46, you will see what the program has just read into the string; in Figure 4, you see that the program just read into the string “aardvark” from a file.

程序点击第47行(恰好在函数中)。 如果将鼠标悬停在第46行的变量“ word”上,您将看到程序刚刚读入字符串中的内容。 在图4中,您可以看到该程序只是从文件中读取了字符串“ aardvark”。

2.3。 单步执行程序 (2.3. Stepping Through the Program)

Hitting F10 will execute the line of code pointed to by the program pointer.  F10 will step over a function (i.e., the entire function will be executed and will return uninterrupted unless there is also a breakpoint in that function).

点击F10将执行程序指针指向的代码行。 F10将越过一个函数(即,整个函数将被执行,并且将不中断地返回,除非该函数中还存在断点)。

Another way to start a program other than hitting F5 is to hit F10.  This results in the program pointer being set at the first executable line of code in your main function.  Hitting F10 successively allows you to walk through the program.

除了按F5以外,启动程序的另一种方法是按F10 。 这导致程序指针被设置在主函数中代码的第一行可执行文件中。 依次击中F10可让您逐步完成程序。

If the yellow arrow is pointing to a method or function, then hitting F11 will step into it.  Then you can go back to hitting F10 to walk through the method or function.  If you are in a method or function and wish to get back to the caller in one step, then you can hit the “Step Out” button as shown in Figure 5:

如果黄色箭头指向方法或函数,则按F11会进入它。 然后,您可以回到击中F10的位置来浏览方法或功能。 如果您在某个方法或函数中并希望一步一步返回到调用者,则可以单击“ Step Out ”按钮,如图5所示:

Figure  5 Step Out 图5跳出

2.4。 设置要执行的下一条语句 (2.4. Setting the Next Statement to Execute)

Suppose you stepped into a method to review it, and after it returns, you wish to do step into it again.  Rather than resuming (i.e., F5), or re-starting the program over again (<Ctrl+Shift+F5>, but which may be inconvenient in a complex program), you can reset the Next Statement To Execute to the line containing the method.  Then, you can hit F11 to step back into the function.  To do this, place the cursor on the line of code where you want the execution to resume from, and then either enter the default keyboard shortcut, <Ctrl+Shift+F10>, or right-click and select "Set Next Statement".  However, this is a useful enough command to add it to your debug toolbar.

假设您进入一种方法来对其进行检查,并且在返回该方法之后,您希望再次进入该方法。 您可以将“要执行下一个语句”重置包含以下内容的行,而不是继续(即F5 )或重新启动程序(< Ctrl + Shift + F5 >,但在复杂程序中可能不方便)。方法。 然后,您可以按F11键退回到该功能。 为此,请将光标放在要从中恢复执行的代码行上,然后输入默认的键盘快捷键< Ctrl + Shift + F10 >或右键单击并选择“设置下一条语句” 。 但是,这是一个足够有用的命令,可以将其添加到调试工具栏中。

2.5。 警告:控制台与调试器的交互 (2.5. Caveat: Console Interaction with Debugger)

Suppose you have a program that accepts user input from the VS Console, and after entering the input, you observe that you reached a breakpoint.  But then you try to hit F5 to continue the program, but there is no effect.  The reason is that the Windows focus is still on the VS Console; you have to give focus back to the debugger by clicking on the VS Debugger first. Now your F5 operation should work.

假设您有一个程序可以接受来自VS Console的用户输入,并且在输入输入后,您会看到到达断点。 但是,然后您尝试按F5继续该程序,但是没有任何效果。 原因是Windows焦点仍然集中在VS控制台上。 您必须先通过单击VS Debugger来将精力集中在调试器上。 现在,您的F5操作应该可以了。

On this topic of focus, if it appears that hitting a toolbar command button has no effect, it may be that the first time you hit it, all that happened was to give Windows focus to the VS Debugger.  Now the window is ready to accept mouse or keyboard commands, so try hitting the button one more time.

关于此焦点主题,如果似乎单击工具栏命令按钮没有任何作用,则可能是您第一次单击该按钮时,所发生的一切只是将Windows焦点赋予了VS Debugger。 现在,该窗口已准备就绪,可以接受鼠标或键盘命令,因此请尝试再按一次该按钮。

3.检查和修改变量值 (3. Examining and Modifying Variable Values)

有几种简单的方法可以检查和修改数据。 一些方法提供快速的临时视图(例如,鼠标悬停和快速监视)。 还有一些窗格使您可以查看方法或函数中的局部变量。

3.1。 鼠标悬停显示值和结构 (3.1. Mouse Hovering Reveals Values and Structure)

As already shown in Figure 4, if you hover the mouse over a variable, you will get a small popup that shows its value.  In Figure 6 the mouse is hovered over the variable, “words”.  First you see that the value of “words” is “paleontologist”.  Then by hovering over the +sign, the data expands in more detail showing the chars 0 through 13 and their ASCII and decimal representations.  If you right-click on this expansion, a popup menu allows you to switch to a hexadecimal representation.

如图4所示,如果将鼠标悬停在变量上,将会弹出一个小的弹出窗口,显示其值。 在图6中,鼠标悬停在变量“ words”上。 首先,您会看到“单词”的价值是“古生物学家”。 然后,通过将鼠标悬停在+号上 ,数据会更详细地扩展,显示字符0到13以及它们的ASCII和十进制表示形式。 如果右键单击此扩展,则弹出菜单可让您切换到十六进制表示形式。

Figure 6 Hover Mouse Expand 图6悬停鼠标展开

You need not concern yourself with the names such as _Mysize and _Myres that you can see in the value expansion.  These names are internal to Visual Studio.  (But for those who are curious, it appears that _Mysize is the length of the string, and that _Myres is the number of bytes that is currently allocated to the string.)

您不必担心自己会在值扩展中看到的诸如_Mysize和_Myres之类的名称。 这些名称是Visual Studio内部的。 (但是对于那些好奇的人,看来_Mysize是字符串的长度,而_Myres是当前分配给该字符串的字节数。)

3.2。 快速观看 (3.2. Quick Watch)

If you right-click on "words" in the source code, then you can select QuickWatch and then, in addition to what was shown above, you also see the data types.  This is especially useful when examining data structures or user defined class objects.  Figure 7 shows an example of the QuickWatch Dialog box.  As the name suggests, this is a temporary view of reviewing data of interest.  If you hit the Add Watch button, the information is transferred into a more permanent Watch Pane.

如果右键单击源代码中的“单词”,则可以选择“ 快速监视” ,然后除了上面显示的内容外,还可以看到数据类型。 当检查数据结构或用户定义的类对象时,这特别有用。 图7显示了“快速监视”对话框的示例。 顾名思义,这是查看感兴趣数据的临时视图。 如果您单击“添加监视”按钮,则信息将转移到一个更永久的监视窗格中。

Figure  7 Quick Watch 图7快速观看

3.3。 汽车和当地人标签 (3.3. Autos and Locals Tab)

In the bottom left hand side of your screen, should be a number of tabs, including Autos and Locals.  These panes have three columns - variable Name, Value, and Type.

在屏幕的左下角,应该有许多标签,包括AutosLocals 。 这些窗格包含三列-变量名称类型

The Locals tab displays all the variables that are on the local stack of the function that you are in.  Figure 8 illustrates an example of a Locals pane:

Locals选项卡显示您所在的函数的本地堆栈上的所有变量。图8展示了Locals窗格的示例:

Figure 8 Local Variables 图8局部变量

Autos tab shows information about both local and global variables in the current line and previous line of code.  Note that the global variables do not appear in the 汽车选项卡显示信息。 请注意,全局变量不会出现在“ Locals pane.  The 本地”窗格中。 如果你有很多局部变量,只希望Swift集中在有关最近执行的指令变量Autos tab is especially convenient if you have many local variables and wish to quickly focus only upon variables related to recently executed instructions.汽车标签是特别方便。

Hit the Autos tab when you hit a breakpoint.  You should now see a number of variable names and their values.  When debugging, take a few minutes to carefully look at the names, values, and their Data Types; and confirm that these values make sense to you.  Notice that when you step through a block of code one line at a time (using F10), the variables that appear may change; and when they do change, these values are displayed in red.  If no change, the value will remain black.  For data types that are composites of other types (such as strings, arrays, or classes) you will see a +sign preceding an object variable.  By hitting the +sign, you will expose the underlying structure within the object.

当您达到断点时,请点击“ 汽车”选项卡。 现在,您应该看到许多变量名及其值。 调试时,请花几分钟仔细查看名称,值及其数据类型。 并确认这些值对您有意义。 请注意,当您一次浏览一行代码块时(使用F10 ),出现的变量可能会改变。 当它们确实改变时,这些值将显示为红色。 如果没有变化,该值将保持黑色。 对于由其他类型(例如字符串,数组或类)组成的数据类型,您将在对象变量之前看到一个+号 。 通过点击+号 ,您将暴露对象内的基础结构。

3.4。 修改变量值 (3.4. Modifying a Variable Value)

In the Locals or Autos panes, you will see three fields - Name, Value, and Type.  If you double-click on a primitive numeric or char value, it should become editable.  You can then insert a valid value for that variable.  In general, if you can examine data by any of the methods described above, you can double-click on it and change the value.  If you try to change the variable “words”, which is a string, you have to expand it; and then you can change individual chars by inserting either a number or a literal char such as ‘x’.

LocalsAutos窗格中,您将看到三个字段-NameValueType 。 如果双击原始数字或char值,则该值应可编辑。 然后,您可以为该变量插入有效值。 通常,如果可以通过上述任何一种方法检查数据,则可以双击它并更改值。 如果您尝试更改变量“ words”(它是一个字符串),则必须对其进行扩展; 然后您可以通过插入数字或文字字符(例如'x')来更改单个字符。

4.命令行参数 (4. Command Line Arguments)

如果您的主程序以

int main( int argc, char **argv )

int main(int argc,char ** argv)

then there is a good chance that you need to set command line arguments so that argc and argv have set values. To set up your debugger with Command Arguments, bring up the Properties Page for your project (i.e., Right-click on the project, and select Properties). In the Property Pages Dialog Box, expand "Configuration Properties" and highlight "Debugging" (see Figure 9). Then, in the right pane, highlight Command Arguments, and enter the strings in the text field.

那么很有可能需要设置命令行参数,以便argc和argv具有设置值。 要使用命令参数设置调试器,请打开项目的属性页(即,右键单击项目,然后选择属性)。 在“属性页”对话框中,展开“配置属性”并突出显示“调试”(请参见图9)。 然后,在右窗格中,突出显示“命令参数”,然后在文本字段中输入字符串。

Figure 9  Command Line Arguments 图9命令行参数

5.停止调试器 (5. Stopping the debugger)

If you want to shut down a debugging session, you can do so from a paused state.  There is a small blue box in your (debugging) toolbar that you can hit to stop the debugger (see Figure 10).  It will cause your console output screen to close down.  If you are not stopped at a breakpoint, then it may be necessary to first hit the pause button (see Figure 11), which is just to the left of the Stop Debugging button.

如果要关闭调试会话,可以从暂停状态关闭。 您的(调试)工具栏中有一个小的蓝色框,您可以单击它来停止调试器(请参见图10)。 这将导致控制台输出屏幕关闭。 如果您没有在断点处停止,则可能有必要先单击“ 停止调试”按钮左侧的“暂停”按钮(参见图11)。

Figure 10 Stopping the Debugger 图10停止调试器
Figure 11 Pausing the Debugger 图11暂停调试器
Caveat: Due to a bug in either VS and/or XP, sometimes the output debugger console window does not shut down properly.  In this case, I and others have found no way to remove it, and it may even prevent a normal power shutdown of the PC (then holding the PC power switch for 10 seconds shuts down the system).  The workaround is simple - minimize the console window, and live with it until you shut down.  It does not appear to have any deleterious effects other than forcing a manual shutdown, and inability to log out of your session.  There is hope, however.  MS has issued 警告 :由于VS和/或XP中的错误,有时输出调试器控制台窗口无法正确关闭。 在这种情况下,我和其他人找不到将其卸下的方法,它甚至可能阻止PC的正常电源关闭(然后按住PC电源开关10秒钟将关闭系统)。 解决方法很简单-最小化控制台窗口,并使用它直到关闭。 除了强制手动关闭和无法注销会话外,它似乎没有任何有害作用。 但是有希望。 MS已发布this information indicating that there may be a solution someday. 此信息,表明有朝一日可能有解决方案。

6.练习时间 (6. Time to Practice)

实践达到完美的说法是一个陈词滥调,永远不会失去其重要性或意义。 我希望鼓励您取出调试器并立即开始使用它。 我希望上述步骤将有助于加快您对程序的理解和调试。

After becoming familiar with this short article, you may find interesting additional tips on the debugger breakpoint facility.  More information on breakpoints can be found in  Part 2 of this Visual Studio 2008 Debugger article series.

熟悉了这篇简短的文章之后,您可能会在调试器断点工具上找到有趣的其他提示。 有关断点的更多信息,请参见本Visual Studio 2008调试器文章系列的第2部分 。

翻译自: https://www.experts-exchange.com/articles/2688/C-C-Beginner's-Debugging-Guide-using-Visual-Studio-2008-Express.html

使用Visual Studio 2008 Express的C / C ++初学者调试指南相关推荐

  1. Visual Studio 2008 Express版本下载

    VS2008的90天试用版已可下载,但看了看我的老电脑是没办法使用了,多达4G,内存也得1G以上! 还有一个Express版呢,916MB,还可接受,先把这个下载下来试试. 对微软越来越无语,产品如此 ...

  2. Visual Studio 2008 和 .NET 3.5 发布了

    转自:http://blog.joycode.com/scottgu/archive/2007/11/20/111568.aspx [原文地址]Visual Studio 2008 and .NET ...

  3. Google V8 编译方法(visual c++ 2008 express)(学习+原创)

    参考资料: (不同 VS 版本的可以看这里,有很详细介绍的,不过是鸟文··)http://code.google.com/p/v8/wiki/BuildingOnWindows http://code ...

  4. 为XNA制做安装程序(四)WIX Toolset 3.0 for Visual Studio 2008

    首先到http://wix.sourceforge.net/下载最新的WIX,这是一款开源的安装程序打包工具,其中2.0版本和3.0是可以安装在VS2008下,而3.5安装在VS2010中.我们用VS ...

  5. Visual Studio 2008 SDK Version 和Microsoft Visual Studio 2008 Shell发布了

    继Visual Studio 2008 RTM 不久后,微软提供了Visual Studio 2008 SDK Version 1.0的下载.提供各种工具.文档.示例,以便用户为Visual Stud ...

  6. Visual Studio 2008 Service Pack 1 - BETA发布

    Visual Studio 2008 SP1 提供了对Visual Studio 2008的各项改进,支持SQL Server 2008和ADO.NET的新特性Entity Framework,许多W ...

  7. Visual Studio 2008 集成SP1补丁

    因为安装VS2008的SP1补丁和MSDN SP1 耗时太长,一直想二者集成到VS2008的安装包中:网上一搜有很多集成方案,按照上面的方案几经周折自己也集成了一个,经安装测试证明有效,下面结合搜到的 ...

  8. Visual Studio 2008 安装出错 无法安装 的解决办法

    1 安装vs2008 team 中文正式版,会出现deffactory.dat读取错误. 解决方案: 进入那个文件夹. 替换deffactory.dat ,新建一个文本文档,把下面的内容粘贴进去,然后 ...

  9. vs 2008 下载 VS2008简体中文正式版迅雷高速下载 Visual Studio 2008 Team

    vs 2008 下载 VS2008简体中文正式版迅雷高速下载 Visual Studio 2008 Team Suite VS2008简体中文正式版迅雷高速下载 Visual Studio 2008 ...

最新文章

  1. pip、NumPy、Matplotlib在Windows上的安装过程
  2. 使用MySQL命令行修改密码
  3. CentOS7用yum安装软件报:Cannot find a valid baseurl for repo: base/7/x86_64
  4. 计算机组成原理课设移位,计算机组成原理课设(多寄存器减法、右移位、输入输出、转移指令实验计算机设计)...
  5. 2020高考志愿填报:去哪个城市?选什么专业?挑哪个学校?大数据分析告诉你!
  6. 阿里云的这个智能编码插件真心好用!Java 开发神器!!!
  7. 2021年衡阳仁爱中学高考成绩查询,南岳衡阳蒸湘仁爱中学简介
  8. 白岩松曾说过这样一段话
  9. python str 换行_一步一步学Python3(小学生也适用) 第八篇: 字符串(str)类型(上)...
  10. JDK:native2ascii命令详解
  11. 程序猿来找找自己的目标
  12. 基于FBX SDK的FBX模型解析与加载
  13. CCS导入工程时报错“overlaps the location of another project”解决办法
  14. 设置Android应用全屏显示(隐藏手机状态栏)
  15. 搜索之下的在线教育,逆商业周期而动?
  16. 小米电视屏蔽开机广告的方法
  17. git 修改命令 VI
  18. 三次B样条插值和误差分析
  19. a|b 到底是谁整除谁
  20. 程序员 面试如何介绍自己

热门文章

  1. Visual Studio 2022 的下载
  2. 常见面试算题题中的滑动窗口问题
  3. mp3与wav格式的互转
  4. SQL2005,错误 0xc00470fe 数据流任务 产品级别对于 组件“源 - 2009_txt”(1) 而言不足
  5. 实验——MySQL数据库增量备份恢复
  6. 古诺模型里的纳什均衡
  7. ORA-01031: insufficient privileges
  8. python和Anaconda 安装gdal和osr
  9. Co-saliency 经典算法文献汇总
  10. 设置QQ的个性在线状态图片