You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iPad端clang编译多C++文件遇段错误及警告问题求助

C++编译段错误问题求助(iPad clang 13.0.0环境)

环境与问题

  • 正在学习C++(第一门编程语言),使用iPad上的clang 13.0.0编译器
  • 执行编译命令 clang++ -Wall -std=c++14 -g main.cpp func.cpp 时,出现segmentation fault(段错误)
  • 若在main.cpp中直接用#include"func.cpp"包含源文件,编译运行完全正常
  • 采用分步编译命令可正常运行,想了解该方法有效的原因,以及如何消除编译时出现的[linker input unused]警告

相关文件内容

func.cpp

int add_numbers(int num1, int num2) {
    int sum{};
    sum=num1+num2;
    return sum;
}

func.h

#ifndef _func_H_
#define _func_H_

int add_numbers(int num1, int num2);

#endif

main.cpp

#include <iostream>
#include "func.h"

using namespace std;

int main () {
    int num1{10}, num2{12};

    int summation=add_numbers(num1,num2);
    cout << summation << endl;

    return 0;
}

直接编译的错误输出

clang++ -Wall -std=c++14 -g main.cpp func.cpp
segmentation fault 
segmentation fault

可正常运行的分步编译命令

clang++ main.cpp -c
clang++ func.cpp -c
clang++ main.o func.o
a.out

疑问

  1. 为什么分步编译可以正常运行?
  2. 如何消除分步编译过程中出现的[linker input unused]警告?

内容的提问来源于stack exchange,提问作者Shubham Tiwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:05:23