oc-03-OC访问OC源文件、C源文件中的函数

show.h

#ifndef __OCDay01__Show__
#define __OCDay01__Show__

#include <stdio.h>

extern void testTshow();

#endif /* defined(__OCDay01__Show__) */

show.c

#include "Show.h"

void testTshow(){
    printf("我就是大名鼎鼎的 C文件中的 函数 ,何人敢调用?  哈哈哈哈  \n");
}

main.m(oc源文件)

//  6-【理解】访问OC源文件、C源文件中的函数

#import <Foundation/Foundation.h>
//引入 show的头文件
#import "Show.h"
void  test1(){
    printf("你好啊  我是C语言函数  我放在了  OC原文件中 , 你敢调用我一下子  不 ?  哈哈哈  \n");
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //OC 中访问 写在OC源文件中的 C语言函数   是可行的.
        test1();
        //OC 中访问 写在C文件中的 C函数  是可行的.
        testTshow();
    }
    return 0;
}
时间: 2025-01-18 11:54:57

oc-03-OC访问OC源文件、C源文件中的函数的相关文章

NS前缀\OC中的注释\访问OC原文件、C原文件中的函数

///////////////////////////////////////// //////////////////////////////////////// NS前缀 NS来自于NeXTStep的一个软件 NeXT Software OC中不支持命名空间(namespace) NS是为了避免命名冲突而给的前缀 看到NS前缀就知道是Cocoa中的系统类的名称 "@"的使用方法 1.@""这个符号表示将C中的字符串转化为OC中的字符串对象 2.@符号 OC中的大

关于C、OC、C++、OC++、Swift的一些常识

关于C.OC.C++.OC++.Swift的一些常识 OC是C语言的一个超集,是一门面向对象的语言,因为苹果的崛起而火,API主要是cocoa(OSX)和cocoatouch(iOS),GCC 和 Clang 都能编译OC,现在xcode使用的是Clang. OC的实现是建立在运行时机制(runtime system)之上的(runtime system 使用C写的),这使它与C++的编译机制有很大区别. 简单来说就是OC代码执行的时候需要结合runtime library,实现它的功能.正是因

【《Objective-C基础教程 》笔记】(八)OC的基本事实和OC杂七杂八的疑问

一.疑问 1.成员变量.实例变量.局部变量的区别和联系,在访问.继承上如何表现. 2.属性@property 和 {变量列表} 是否相同,有什么不同. 3.类方法.类成员.类属性:实例方法.实例变量.实例属性. 4.怎么获取xcode代码编辑区里面的编译错误提示信息,比如如何复制,在问题视图里面可以复制啦. 二.大概事实 5.OC没有类变量,有实例变量. 6.OC有类方法,加号表示的时类方法,减号表示的是实例对象的方法. 7.实例变量和属性是有区别的,一般使用属性. 8.实例变量是存储在结构中的

bootstrap源文件&amp;库文件&amp;中文文档离线网页版&amp;网站例子[程序吧 www.qhttl.com]

最近想起了做网站前台,现在流行的是响应式设计,无奈自己不会,网上照了照,居然发现了bootstrap,分享出来 内部包含有bootstrap源文件&库文件&中文文档离线网页版&网站例子网页版,下载无密码 下载地址:http://www.qhttl.com/detail/v-38593-bootstrapyuanwenjiankuwenjianzhongwenwendanglixian.html

C语言学习_C如何在一个文件里调用另一个源文件中的函数

问题 C如何在一个文件里调用另一个源文件中的函数,如题. 解决办法 当程序大了代码多了之后,想模块化开发,不同文件中存一点,是很好的解决办法,那我们如何做才能让各个文件中的代码协同工作呢?我们知道,main函数是程序入口,我们希望把不同的功能写在不同的函数中,并把这些函数统一放到另外一个文件里,以便main函数显得太长,main函数可以在用到某方法的时候调用来处理.为了实现这个步骤,我们这样做.首先定义一个c代码的头文件,如function.h,在里面声明将要实现的函数,如int add(int

WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)

WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="IsPostBack.WebForm1" %> <!DOCTYPE htm

OC 03

#mark- 01-封装基本概念 //问题1:面向对象三大特性有哪些? 答: 封装 继承 多态 //问题2:什么是封装?封装的好处?封装的规范? 答: 1.屏蔽内部实现的细节, 仅仅对外提供共有的方法/接口 2.保证数据的安全性,将变化隔离 3.一般情况下不会对外直接暴露成员变量, 都会提供一些共有的方法进行赋值成员变量都需要封装起来 //问题3:为什么要进行封装? 答: 1.屏蔽内部实现的细节, 仅仅对外提供共有的方法/接口 ----------------------------------

OC相关-02:oc和c的基本差异

前言: 面向过程和面向对象. 简单的说,面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用. 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为.两者的区别就在于面向过程是从事情的开始到结束顺序完成,而面向对象则是从一个事件中抽象出来不同的类和动作,再降类具体到每个对象.比如说,雨天打伞.面向过程就是:下雨了,我造了一把伞,然后打开.而面向对象解决这个问题,就是:下雨,人,

【OC学习-5】OC里面怎么实例化一个对象?以及什么是消息传递?

我们之前的例子是这样的: ASStudent * student = [[ASStudent alloc]init]; //实例化并初始化一个对象 [student release]; //释放这个对象所占用的内存 其实,alloc和release都是NSObject里面的类方法(前面是加号+的那种),所以可以直接用类名字来调用,如ASStudent alloc. 当然这两个方法的意思是分配一个内存,以及回收一个内存:逻辑是alloc一次,这个对象计数器就+1,release一次,这个对象计数器