【问题标题】:Source not found chkstk.asm找不到源 chkstk.asm
【发布时间】:2015-03-19 06:48:46
【问题描述】:

我正在尝试练习结构,从我的班级提供给我的视频中,唯一的区别是他使用的是旧版本的视觉工作室,当我尝试进入代码时,我得到了找不到错误源 chkstk.asm 我不知道如何获得这个和谷歌搜索给我带来了什么。这是我到目前为止的代码,如果它有任何帮助的话。老实说,Visual Studio 给我带来了很多未知的新问题,我想回到我以前使用的简单文本编辑器。

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
typedef struct{
char name[40];
short int number;
double wholesale;
double retail;
short int onHand;

}PRODUCT;

void fillInProducts(PRODUCT[], int* pSize);
void fillInProducts(PRODUCT inventory[], int *pSize){
    strcpy_s(inventory[*pSize].name, 40,"Handsaw");
    inventory[*pSize].number = 3456;
    inventory[*pSize].onHand = 12;
    inventory[*pSize].wholesale = 12.34;
    inventory[*pSize].retail = 23.99;
    (*pSize)++;
}

main(){


int effectiveSize=0;
    PRODUCT hammer = { "Hammer", 1234, 5.50, 8.99, 4 };
    PRODUCT inventory[500];
    fillInProducts(inventory, &effectiveSize);
    system("pause");

}

【问题讨论】:

  • 这很有趣——当我用谷歌搜索“chkstk.asm”时,我发现了很多有用的信息,包括与您的类似的其他 Stack Overflow 帖子。

标签: c visual-studio-2013 structure


【解决方案1】:

这是编译器运行时支持的一部分。是否拥有它取决于您使用的 VS 版本。编译器将在具有大堆栈帧的函数的开头产生对chkstk 的堆栈检查调用。更多细节在这里:http://www.codeguru.com/cpp/v-s/debug/article.php/c19241/Adventures-with-chkstk.htm

由于PRODUCT 的数组很大,您的main 函数的堆栈帧非常大。这就是堆栈检查调用的来源。出于您的目的,您可以忽略它。您对调试运行时堆栈检查代码不感兴趣。只需跨过它并调试您的代码。

我必须对你的main 函数提出异议。应该是int main(void)

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 2014-03-20
    • 2016-12-14
    • 2013-12-04
    • 1970-01-01
    • 2012-01-19
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多