c语言-关于调用别的源文件中定义的函数或变量的问题

问题描述

关于调用别的源文件中定义的函数或变量的问题

在A.c中定义了char c这个变量,如果在B.c中要调用这个变量,要在B.c或B.h中调价extern char c是吧,我看到别的程序猿一般的做法是定义了变量或函数以后,都把他们在对应的头文件中声明一下,如果有其他文件要调用,直接添加这个文件的头文件即可,如果A.c中想用char c,加extern可以吗(这样的话char c要在头文件中定义了,一般调用变量的不多吧,)

解决方案

extern就可以了。但是要定义成全局变量,不能是函数内的变量。

解决方案二:

你可以把extern和头文件结合起来,把extern写在h中。在你的代码中include头文件。

解决方案三:

sql 定义变量的问题
C++函数和变量的声明、定义的原因和作用
在vim中使用cscope查找调用、定义函数和变量的地方
----------------------

时间: 2024-10-01 17:09:04

c语言-关于调用别的源文件中定义的函数或变量的问题的相关文章

android-Android activity1如何调用activity2中fragment中定义的函数

问题描述 Android activity1如何调用activity2中fragment中定义的函数 public class activity2 extends fragment { ... public void thisfunction() ... } public class activity1 { //如何实现调用thisfunction() } 解决方案 http://www.cnblogs.com/ycxyyzw/p/3875544.html 解决方案二: Fragment fra

python模块创建,如何封装C#中定义的函数

问题描述 python模块创建,如何封装C#中定义的函数 我的平台包含了python脚本编写和执行,其中我在平台中有一个函数是 public class FnValues { public int Pn; public string Fn; public string [] Values; } 而我在python脚本的模块函数中用到了这个函数: def Get_Meter_Reading(cs,a): fnValue1=FnValues(); fnValue1.Fn="30" fnVa

请问c#如何调用ntdll.dll中的ntquerysysteminformation函数??

问题描述 请问c#如何调用ntdll.dll中的ntquerysysteminformation函数??google了一下函数原形ntsysapintstatusntapintquerysysteminformation(inuintsysteminformationclass,//信息类型outpvoidsysteminformation,//缓冲指针inulongsysteminformationlength,//缓冲的字节大小outpulongreturnlengthoptional//写

access-Access中定义GroupConcat函数时, .显示用户定义类型未定义,怎么修改?

问题描述 Access中定义GroupConcat函数时, .显示用户定义类型未定义,怎么修改? 定义的函数如下:Public Function GroupConcat(sColumn As String sTable As String Optional sCriteria As String Optional sDelimiter As String = "")On Error GoTo ErrHandlerDim rs As New ADODB.RecordsetDim sSQL

在windows驱动代码中用汇编调用user32.dll中的MessageBoxA函数出错

问题描述 在windows驱动代码中用汇编调用user32.dll中的MessageBoxA函数出错 _asm { push eax; push ecx; push 0; push 0; push 0; push 0; mov ecx, MessageBoxAAddr; lea eax, mark; push eax; jmp ecx; mark: mov eax, eax; mov ebx, ebx; mov ecx, ecx; pop ecx; pop eax; } 其中MessageBox

c++的问题-C++类中定义 const static 成员变量为啥在VC++6.0中 编译不过

问题描述 C++类中定义 const static 成员变量为啥在VC++6.0中 编译不过 class GradeBook { public: //constant -- number of students who took the test const static int students = 0; //constructor initialize course name and array of grades GradeBook( string, const int [] ); voi

请高手帮我解决一个VB.NET调用c++ DLL 中的回调函数的问题

问题描述 我有个test.dll是c++写的dll,现在我要用vb.net调用这个dll中的SetCallback回调函数,请问怎么在vb.net中实现,请高手们具体列出代码,应我是新手,谢谢.以下是c++中的头文件定义的一部分typedefvoid(__stdcall*CCallback)(unsignedlongmsg,unsignedlonghparam,unsignedlonglparam);extern"C"voidR888DLL_API__stdcallSetCallbac

python中的嵌套类(内部类调用外部类中的方法函数)

在为书中版本是3.X的,但2.X不太支持直接调用. 所以,在PYTHON2.X中,要在内部类中调用外部类的方法,就必须得实例化外部类,然后,传入实例进行调用. 花了我两个小时啊,资料没找到,自己一个一个想法调试,真的失败了三四十次,PRINT了N多~~~:) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4

PowerShell中定义多行字符串变量的方法_PowerShell

本文介绍PowerShell中如何定义一个跨多行的字符串变量,定义多行字符串时使用@"开始,使用"@结束. 有没有遇到这样一种情况,我们想创建一个变量来保存一个跨行的字符串. 是不是对怎么输入很头疼啊?其它编程语言有没有办法我不知道,但在PowerShell中,有一个很简单的办法,那就是使用@字符. 举例如下: 复制代码 代码如下: $str = @" 字符串的第1行 字符串的第2行 -- 字符串的第n行 "@ 注意在"@""之后,不要