为什么我的Win32应用程序无法启动?

时间:2016-02-07 13:16:37

标签: c

我刚刚制作了一个C应用程序(第一次编程)但是当我启动应用程序时,控制台并没有显示出来。但是程序在后台保持活动状态,因为当我再次尝试编译时,Linker说它无法访问.exe。 应用程序在另一台计算机(64位和Windows 10)上平稳运行。 该应用程序还可以,但出于某些原因我的笔记本电脑无法运行它。

我有一个MSI apache 2qd(64位)。它在Windows 10上运行并使用Visual studio 2013

以下是应用源代码:

#include <stdio.h>          // librairie de fonctions utiles dont printf() et scanf()
int main()                  // le programme principal, celui qui sera execute
{
    double a, b, c, sol, sil, delta;                // declaration des variables reelles
    //int i, j, quotient, reste;       declaration des variables entieres
    printf("Resolution de l'equation du second degre : ax²+bx+c=0 \n");
    printf("Terme du 2nd degre (a) : ");        
    scanf("%lf", &a);  
    printf("Terme du 1er degre (b) : ");        
    scanf("%lf", &b);                            // saisir sur le clavier : attention au &
    printf("Terme independant (c) : ");
    scanf("%lf", &c);

    if (a == 0)
    {
        printf("\nVous cherchez les solutions de l'equation %lf x² + %lf x + %lf = 0\n\n", a, b, c);
        if (b != 0)               // !=   est different de (comparaison ds une condition)
        {
            sol = -c / b;         //  =   calculer l'expression a droite et ranger le resultat dans la variable de gauche (affectation)
            printf("Solution unique : %lf \n", sol);
        }   
        {
            if (c == 0)           // ==   est egal a (comparaison ds une condition)
                printf("Equation indeterminee : une infinite de solutions !\n");
            else
                printf("Equation impossible : pas de solutions !\n");
        }   
    }
    else
    {
        if (a != 0)
        {
            delta = b*b - 4 * a*c;
            if (delta == 0)
            {
                sol = -b / 2 * a;
                printf("Solution unique : %lf \n", sol);
            }
            else
            {
                if (delta > 0)
                {
                    sol = (-b + sqrt(delta)) / (2 * a);                                         // sqrt(x);
                    sil = (-b - sqrt(delta)) / (2 * a);
                    printf("solution 1 : %lf \n", sol);
                    printf("solution 2 : %lf \n", sil);
                }
            }
            if (delta < 0)
            {
                printf("Equation impossible : pas de solutions réel !\n");
            }
        }
    }
    return 0;          
}

提前感谢。

1 个答案:

答案 0 :(得分:2)

在测试程序时,请关闭Avast或您目前拥有的任何其他防病毒软件几分钟。

防病毒软件有时会卡住分析这个新的可执行文件,并且永远不会将控制权返还给操作系统。

如果这样可以解决您的问题,请将您的C项目文件夹添加到排除列表中,这样您就不必在每次运行应用程序时手动禁用/重新启用防病毒软件。