【问题标题】:how to run the .o file after makemake后如何运行.o文件
【发布时间】:2014-03-07 13:35:21
【问题描述】:

我一直在尝试从https://github.com/rinon/Simple-Homomorphic-Encryption 运行一个 c++ 程序

正如README 中指定的那样,我已经运行了以下命令,

make

make test

make demo

现在,我的目录中有以下文件,

zakirhussain@zakirhussain-K52F:~/Simple-Homomorphic-Encryption$ ls
circuit.cpp             demo_vote_counter.cpp  fully_homomorphic.cpp  main.o                 security_settings.h     test_suite.o  utilities.o
circuit.h               demo_vote_counter.h    fully_homomorphic.h    makefile               security_settings.o     type_defs.h
circuit.o               demo_vote_counter.o    fully_homomorphic.o    README                 test_fully_homomorphic  utilities.c
demo_fully_homomorphic  fully_homomorphic      main.cpp               security_settings.cpp  test_suite.cpp          utilities.h

有人可以帮我运行demo_vote_counter.o 文件吗?

【问题讨论】:

  • 您不会“运行”.o 文件。那是一个目标文件,用于构建可执行文件。从上面的列表中,您似乎想要运行 ./demo_fully_homomorphic./fully_homomorphic./test_fully_homomorphic
  • 执行ls -F 并查找星号。这些是可执行文件。

标签: c++ c makefile


【解决方案1】:

目标文件 (.o) 不可执行。您想运行./demo_fully_homomorphic(例如,没有扩展名的文件)。确保您具有执行权限 (chmod a+x demo_fully_homomorphic)。

【讨论】:

    【解决方案2】:

    您无法运行.o 文件。这是一个目标文件,必须链接到最终的可执行文件中。 .o 文件通常缺少额外的库,这些库是在链接阶段添加的。

    查看您的输出,我假设demo_fully_homomorphictest_fully_homomorphicfully_homomorphic 之一是您可以运行的可执行文件。

    【讨论】:

      【解决方案3】:

      我想我迟到了,但我猜下面的代码可能对某人有帮助。

      使用 cd 进入你的文件夹包含 c/c++ 文件,然后编译它。

      gcc my_test.c -o my_test
      

      将生成已编译的文件。然后仍然在同一个文件夹中。运行命令。

      ./my_test
      

      【讨论】:

      • 是的,“已编译的文件”
      • 你的是接近回答 OP 的唯一答案。他在问他需要采取哪些步骤来运行他的程序。编译是必要的步骤,只有您尝试执行该步骤。我的问题:除了utilities.c 之外,没有以*.c 形式列出的文件。是否可以给出 OP 所需的确切命令?还是没有办法从他显示的文件目录中确定?
      【解决方案4】:

      正如在其他几个答案中已经提到的,您可以执行二进制文件而不是目标文件。但是,以防万一,如果您想要以可读格式显示目标文件的内容?

      $>objdump -d object_filename.o 
      

      【讨论】:

        【解决方案5】:

        您无法运行目标文件。必须先链接它才能生成可执行文件。

        正如我所见,您的目录中有一个“demo_fully_homomorphic”、“fully_homomorphic”和一个“test_fully_homomorphic”。这些是您链接的可执行文件,您可以使用 ./[executable_name]

        执行它们

        【讨论】:

          【解决方案6】:

          在这种情况下,可执行文件称为demo_fully_homomorphic,请尝试

          ./demo_fully_homomorphic
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-04-23
            • 1970-01-01
            • 2020-05-25
            • 2018-10-12
            • 1970-01-01
            • 2011-06-20
            • 1970-01-01
            相关资源
            最近更新 更多