假設我正在處理一個大型項目,並且需要在名爲example.c的源文件中訪問函數foo()。 foo()的原型也在example.c中聲明。 example.c沒有特定於此文件的頭文件,如example.h。從我正在處理的新源文件中訪問example.c的foo()的最佳做法是什麼?訪問C中現有函數的最佳實踐?
0
A
回答
5
如果沒有聲明該函數的頭文件,該函數可能並不打算用作接口。它僅用於在宣稱的地方使用翻譯單元。
- 檢查並確認設計爲何不將其作爲接口公開。
- 一旦確認#1,並且看到沒有任何問題通過外部TU使用,然後將函數聲明添加到頭文件中。將頭文件包含在TU中,該頭文件用於開頭,並在TU中包含希望使用此功能的頭文件。
0
只要example.c不包含main()函數,你可以做
#include <example.c>
爲您的代碼的文件:
+0
原諒我誰downvoted,但我不同意,你可以做到這一點。如果你仍然不相信我,我可以向你展示一個工作示例:) –
+3
包含'.c'文件很少是一個好主意。這是獲取重複定義的簡單方法。 –
+0
如果這些函數依賴於外部定義,那麼會不會引發鏈接錯誤?那麼如果'.c'文件依賴於頭文件呢? – Joe
相關問題
- 1. 最佳實踐 - C#字典項訪問
- 2. 訪問 - 數據導入最佳實踐
- 3. 最佳實踐訪問數據
- 4. 限制訪問C#中枚舉參數的最佳實踐
- 5. MVC實現/最佳實踐問題
- 6. JDBC訪問器類的最佳實踐
- 7. C#最佳實踐
- 8. 最佳實踐 - C#
- 9. JavaScript中函數流的最佳實踐?
- 10. 在python中實現多個構造函數的最佳實踐
- 11. C#vs Java中的訪問修飾符最佳實踐
- 12. 差分訪問控制。最佳實踐
- 13. 最佳實踐 - 訪問對象變量
- 14. 可訪問性最佳實踐
- 15. 最佳實踐訪問控制器
- 16. Facebook訪問令牌最佳實踐
- 17. 實現.net中的數據訪問層最佳實踐項目MVC
- 18. 有關在Objective-C中訪問實例屬性的最佳實踐?
- 19. Objective-C的最佳實踐
- 20. Java SE 6中的JPA/Hibernate,數據訪問的最佳實踐
- 21. 訪問類中的數組集合的最佳實踐
- 22. 抽象訪問時訪問數據庫中的數據的最佳實踐
- 23. 爲函數的Python最佳實踐
- 24. jquery函數和ajax的最佳實踐
- 25. JS成員函數的最佳實踐
- 26. JavaScript函數參考的最佳實踐
- 27. 構造函數的最佳實踐
- 28. Clojure關聯函數的最佳實踐
- 29. JQuery的最佳實踐$ .Ready函數
- 30. 函數參數最佳實踐
製作自己的原型內部訪問富()? –
@JoachimPileborg,這不是最差的做法之一嗎? – unkulunkulu