标签: compilation

使用make编译多个C文件

(我正在运行Linux Ubuntu 9.10,所以可执行文件的扩展名是executablefile.out)我刚刚进入C语言的模块化编程(用多个文件编程),我想知道如何在一个makefile中编译多个文件.例如,编译这些文件的makefile是什么:main.c,dbAdapter.c,dbAdapter.h?(顺便说一句,如果你还没有弄明白,主要功能是在main.c中)还有人可以发布一个指向makefile文档的链接吗?

c makefile compilation modular

28
推荐指数
2
解决办法
9万
查看次数

为什么使用#if 0进行块注释?

反向工程代码,我对这种风格感到震惊,但我想确保没有充分理由做这些事情....

它只是我还是一种可怕的编码风格

if ( pwbuf ) sprintf(username,"%s",pwbuf->pw_name);
else sprintf(username,"%d",user_id);
Run Code Online (Sandbox Code Playgroud)

为什么包装代码不打算用于编译

#if 0
....
#endif
Run Code Online (Sandbox Code Playgroud)

而不是评论?


编辑:正如下面的一些解释,这是由于flummox/**/的可能性,我没有意识到.

但我仍然不明白,为什么不使用你的编程环境工具或喜欢的文本编辑器的宏来阻止使用"//"注释掉它

难道这不会更直接,更容易知道在视觉上跳过?


我只是缺乏C经验并且错过了为什么这些东西可能是一个好主意 - 或者没有任何借口,我有理由对这段代码的丑陋感到恼火?

c compilation c-preprocessor

28
推荐指数
3
解决办法
4万
查看次数

摆脱"gcc - /usr/bin/ld:找不到警告库"

链接期间我有以下警告:

/usr/bin/ld: warning: libxxx.so.6, needed by /a/b/c/libyyy.so, not found (try using -rpath or -rpath-link)
Run Code Online (Sandbox Code Playgroud)

设置环境变量LD_LIBRARY_PATH = path_to_libxxx.so.6使警告静音(添加-Lpath_to_libxxx.so.6没有帮助).

我有一个单独的编译服务器,其中生成的二进制文件只是编译.二进制文件在其他服务器上执行,二进制文件可以看到libxxx.so.6(选中ldd executable).

是否还有其他方法可以在编译时摆脱警告(我有几次并且非常烦人)?

linux gcc compilation

28
推荐指数
2
解决办法
2万
查看次数

elixir或erlang程序可以编译成独立的二进制文件吗?

它看到elixir有一个名为的工具,elixirc而erlang有一个工具,erlc用于编译模块以供使用.它在此之后立即说您可以使用elixir命令行工具运行代码.

有没有办法用elixir或erlang编译二进制可执行文件?(一个我可以chmod +x binary_name然后从同一个目录运行./binary_name)

erlang compilation elixir

28
推荐指数
4
解决办法
1万
查看次数

我可以以某种方式"编译"一个python脚本在没有安装Python的PC上工作吗?

所以我有一个Python脚本:

myscript.py
Run Code Online (Sandbox Code Playgroud)

我正在执行它:

python D:\myscript.py
Run Code Online (Sandbox Code Playgroud)

但是,我必须安装Python并将其包含在PATH环境变量中才能工作.

是否有可能用Python脚本"捆绑"Python可执行文件,以便其他人能够在没有Python的PC上运行它?

如果它仅适用于Windows,则可以.

编辑:

尝试后compile.py我收到此错误:

Traceback (most recent call last):
  File "D:\stuff\compile.py", line 4, in <module>
    import py2exe
ImportError: No module named py2exe
Run Code Online (Sandbox Code Playgroud)

python compilation

27
推荐指数
5
解决办法
4万
查看次数

Magento在编译后死亡:如何在没有管理面板访问的情况下禁用使用编译的文件?

试图在这里编译Magento 1.6:

Magento管理面板,系统,工具,编译

它编译然后我启用它.在那之后,网站死了.这是堆栈(但这并不重要)

Warning: include_once(Mage_Core_functions.php) [function.include-once]: failed to open stream: No such file or directory in /home/mysite/public_html/app/Mage.php on line 36

Warning: include_once() [function.include]: Failed opening 'Mage_Core_functions.php' for inclusion (include_path='/home/mysite/public_html/includes/src:.:/usr/lib/php:/usr/local/lib/php') in /home/mysite/public_html/app/Mage.php on line 36

Warning: include_once(Varien_Autoload.php) [function.include-once]: failed to open stream: No such file or directory in /home/mysite/public_html/app/Mage.php on line 37

Warning: include_once() [function.include]: Failed opening 'Varien_Autoload.php' for inclusion (include_path='/home/mysite/public_html/includes/src:.:/usr/lib/php:/usr/local/lib/php') in /home/mysite/public_html/app/Mage.php on line 37

Fatal error: Class 'Varien_Autoload' not found in /home/mysite/public_html/app/Mage.php on line 53
Run Code Online (Sandbox Code Playgroud)

重要的是:如何重新开始?也许通过编辑MySQL表?

compilation magento

27
推荐指数
2
解决办法
4万
查看次数

为什么classname $ 1.class会在这种情况下生成?

我编写了以下代码来实现Singleton模式:

public final class Test {
     static final class TestHolder {
         private static final Test INSTANCE = new Test();
     }     

     private Test() {}

     public static Test getInstance() {
         return TestHolder.INSTANCE;
     }
}
Run Code Online (Sandbox Code Playgroud)

当我编译这个文件时,它应该生成Test.class和Test $ TestHolder.class,但它也会生成Test $ 1.class.这没有意义.那么为什么以及如何呢?

java compilation

27
推荐指数
1
解决办法
9900
查看次数

Haskell程序输出`<< loop >>`

我写了一个Haskell程序,它在列表上执行二进制搜索.至少这就是我的想法.当我用程序编译程序ghc v7.6.3并运行程序时,我得到了以下输出:

progname: <<loop>>
Run Code Online (Sandbox Code Playgroud)

这个输出究竟意味着什么?这是否意味着我有一个无限循环ghc优化了?我该怎么调试呢?

debugging haskell compilation ghc haskell-platform

27
推荐指数
1
解决办法
5358
查看次数

是否可以将CLion配置为独立编译项目中的源文件?

我目前正在使用JetBrains CLion IDE在C中执行一些Project Euler挑战.当我用Python和Java(分别在PyCharm和IntelliJ中)完成这些时,我总是能够创建一个名为"ProjectEuler"的项目,并添加我可以独立执行的任意数量的源文件.但是,在CLion中似乎无法做到这一点.我用来解决问题的每个源文件都包含一个main()函数,每次我尝试编译时,CMake都对此感到不满("main"的多重定义").

有没有办法将CLion配置为一次只编译和执行项目中的单个源文件,而不必每次都重写我的CMakeLists.txt或为每个问题创建一个新项目?

我知道C是编译的,而不是像Java或Python那样解释,但我可以想象只是手动编译每个源文件.有没有办法配置CLion做同样的事情?如果是这样,怎么样?

c ide compilation clion

27
推荐指数
2
解决办法
1万
查看次数

Java"new String [-1]"传递编译.怎么会?

在Java中摆弄时,我初始化了一个负长度的新String数组.即 -

String[] arr = new String[-1];
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,编译器没有抱怨它.谷歌搜索没有提出任何相关的答案.任何人都能对此事有所了解吗?

非常感谢!

java arrays compilation

26
推荐指数
1
解决办法
3339
查看次数