2010-02-08 2 views
0

Я новичок на все это, но здесь идет:Помощь требуется Использование C Файл в проекте, iPhone

Существует яблоко файл, который я хотел бы использовать части для моего приложения. Он называется BatteryTimeRemaining.c.

http://www.opensource.apple.com/source/PowerManagement/PowerManagement-211/pmconfigd/BatteryTimeRemaining.c

Я хочу, чтобы иметь возможность использовать некоторые из вычислений в ней, решаемой я не знаю, как добавить и использовать его должным образом. Я получаю бесчисленные ошибки, например. uneclared: первое использование этой функции.

Нужно ли добавлять все файлы заголовков, которые включены в .c-файл? Скомпилировать ли его, а затем добавить?

Большое спасибо, Стюарт

ответ

0

К сожалению, большинство функций, содержащихся в этом файле макинтош специфические, поэтому мои проблемы используют некоторые из его содержимого.

1

Yeh вам нужно будет включать все файлы заголовков, указанные в BatteryTimeRemaining.c. Так что все эти файлы ...

#include <syslog.h> 
#include <unistd.h> 
#include <stdlib.h> 
#include <notify.h> 
#include <mach/mach.h> 
#include <mach/mach_port.h> 
#include <servers/bootstrap.h> 
#include <asl.h> 

#include "powermanagementServer.h" // mig generated 
#include "BatteryTimeRemaining.h" 
#include "SetActive.h" 
#include "PrivateLib.h" 

Все треугольник кронштейн включает в себя должно быть система включает файлы и так должно быть в вашей системе уже. Приведенные цитаты включают файлы, хотя, вероятно, являются частью этого проекта, из которого вы берете BatteryTimeRemaining.c. Вам нужно будет скопировать их из этого проекта в собственный проект.

Скорее всего, вы сможете скопировать нужные функции и вставить их в свою собственную базу кода. Несомненно, у вас будут проблемы с зависимостями, но, вероятно, проще получить одну или две функции, которые строятся на вашей системе, а затем весь файл. Это довольно долго.

Какую функцию вы хотели бы использовать точно из BatteryTimeRemaining.c?

+0

Я хотел получить значение для capRatio = ((double) b-> maxCap + kSmartBattReserve_mAh)/(double) b-> designCap; Знаете ли вы, какие файлы и фрагменты кода мне понадобятся? capRatio - это все, что я хочу ... – Stumf

+0

Возможно, я не понимаю, но если все, что вы хотите, это вычисления в этой строке, то это следует за форматом ... capRatio = (a + b)/c Вы можете легко замените a, b и c вашими собственными переменными. –

+0

Да, но где бы получить значения для maxCap и designCap? Они должны быть объявлены где-то, и я не могу понять, откуда берутся их ценности и как я могу их получить. Именно по этой причине я подумал, что должен добавить все файлы заголовков и т. Д. Это необходимо или я пропустил какой-то простой способ сделать это? – Stumf

0

Попробуйте добавить только

#import "BatteryTimeRemaining.h" 

в файл вы хотите использовать эти функции. Это может быть достаточно ..

Смежные вопросы