如何自动运行具有不同量的特定参数的C 代码

how to automatically run a c++ code with different amounts for specific parameters

本文关键字:参数 代码 运行 何自动      更新时间:2023-10-16

我有一个C 中的代码,我应该通过更改我拥有的两个参数(alpha and Cost)的值来单独运行许多版本。

它们的版本如下:

for (int cost = 0; cost <= 100; cost+=5){
     for(float alpha = 0.5; alpha<=2.5; alpha+=0.1){

我不知道该如何实现,我为此搜索了很多东西,但是更多的东西太复杂或不适合我。预先感谢您的帮助。

我代码的结构很简单。除了主要函数以外,我有两个功能。我正在Windows 7中使用Visual Studio 2012

P.S。这些计算不是我的,我将把程序的EXE文件传递给群集计算机。总体而言,应该有400套不同的版本,我需要5个重复。


这里我最终发现并为我工作的东西:

int main(int argc, char const *argv[]){
  for (int cost = 0; cost <= 100; cost+=5){
    for(float alpha = 0.5; alpha<=2.5; alpha+=0.1){     
    string s1 = to_string(cost);
    char const *pchar1 = s1.c_str();
    argv[1] = pchar1;       
    string s2 = to_string(alpha);
    char const *pchar2 = s2.c_str();
    argv[2] = pchar2;
 . . .

不确定我确切地理解您想要什么,但是以下可能会有所帮助:

  • 您必须多次致电my_f(int argc, const char*argv[])

    int main(int argc, char *argv[]){
        for (int cost = 0; cost <= 100; cost += 5) {
            for (float alpha = 0.5f; alpha <= 2.5f; alpha += 0.1f) {    
                const int myargc = 2;
                const std::string scost = std::to_string(cost);
                const std::string salpha = std::to_string(alpha);
                const char* myargv[] = { scost.c_str(), salpha.c_str() };
                my_f(myargc, myargv);
            }
        }
        return 0;
    }
    
  • 您必须启动my_a.exe cost alpha

我建议使用shell脚本几次使用不同参数启动应用程序。

其他在C 中,您必须使用fork/exec ...