菜鸟教程小白 发表于 2022-12-13 07:24:19

ios - 如何在 iOS 项目中包含 C 文件


                                            <p><p>我的 ViewController 中有这段代码:</p>

<pre><code>int randomNumber =(arc4random() % 1) + 6;
</code></pre>

<p>因为我将在更多地方需要它,所以我决定将它作为功能。
但我是作为 C 函数做的,旧习惯很难改掉。</p>

<p>现在我有了包含此内容的文件 WOC_Random.c</p>

<pre><code>#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt; // for arc4random() function

#ifndef WOC_Random_C
#define WOC_Random_C


int randomInt(int startInt, int endInt)
{
    int randomNumber =(arc4random() % startInt) + endInt;

    return randomNumber;
}

#endif
</code></pre>

<p>现在我的 ViewController 中的代码是:</p>

<pre><code>int randomNumber =randomInt(1, 6);
</code></pre>

<p>但我的链接有问题,这是错误:</p>

<pre><code>duplicate symbol _randomInt in:
/Users/Mac/Library/Developer/Xcode/DerivedData/GuessTheNumber-gjovdrsarctubnbqhczqukvahwgb/Build/Intermediates/GuessTheNumber.build/Debug-iphonesimulator/GuessTheNumber.build/Objects-normal/i386/GTN_FirstViewController.o
/Users/Mac/Library/Developer/Xcode/DerivedData/GuessTheNumber-gjovdrsarctubnbqhczqukvahwgb/Build/Intermediates/GuessTheNumber.build/Debug-iphonesimulator/GuessTheNumber.build/Objects-normal/i386/WOC_Random.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
</code></pre>

<p>我确实对问题有模糊的理解。<br/>
但是不知道怎么解决?<br/>
那么如何解决它,我需要链接器或编译器的一些参数吗? </p>

<p>另外,如果我只有一些简单的函数来实现 iOS 开发的最佳方法是 C 函数还是在 Object C 中作为类函数更好? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您需要添加头文件(如 WOC_Random.h),您将在其中声明函数</p>

<pre><code>int randomInt(int startInt, int endInt);
</code></pre>

<p>然后在 WOC_Random.c 中定义该函数。然后在要使用该函数的类中包含WOC_Random.h。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 iOS 项目中包含 C 文件,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22687738/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22687738/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 iOS 项目中包含 C 文件