有没有办法可以将设计糟糕的头文件编译成目标文件,而无需使用gcc更改文件扩展名或内容,或者我有来复制文件/编辑它? (这是因为我使用的是公共SDK,即我没有编辑头文件的权限,因为在我的Makefile中使用import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
int size;
int line = 1;
System.out.print(" #Enter size of square: ");
size = in.nextInt();
while (line <= size)
{
System.out.println("*");
line = line + 1;
}
}
}
看起来像是一个主要的黑客,而且也很耗时)
cp
#include <print.h>
#include <app.h>
int main(void) {
print("Starting app . . . ");
run();
}
#ifndef APP_H
#define APP_H
int runApp(void);
#endif
#include <print.h>
#include <app.h>
int runApp(void) {
print("This is my app!");
return 0
}
使用以下编译:
#ifndef PRINT_H
#define PRINT_H
int print(char* str) {
printf(str);
return 0;
}
#endif
SDK示例程序使用单个目标文件($ gcc -o main.o main.c
$ gcc -o app.o app.c
$ gcc -o main main.o app.o
),但在我的情况下这会非常混乱。
答案 0 :(得分:0)
创建
_print.h
int print(char* str);
print.cpp
#include <print.h>
并将您的包含更改为"_print.h"