2010-02-08 5 views
0

Je suis nouveau à tout cela, mais va ici:aide nécessaire Utilisation de C Fichier Dans Project, iPhone

Il y a un fichier de pomme que je voudrais utiliser des parties de mon application. Il s'appelle BatteryTimeRemaining.c.

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

Je veux être en mesure d'utiliser certains des calculs, le problème étant que je ne sache comment ajouter et utiliser correctement. Je reçois d'innombrables erreurs, par exemple non déclaré: première utilisation de cette fonction.

Dois-je ajouter tous les fichiers d'en-tête inclus dans le fichier .c? Est-ce que je compile et ajoute?

Un grand merci, Stuart

Répondre

0

Malheureusement, la plupart des fonctions contenues dans ce fichier sont spécifiques à Mac, d'où mes problèmes en utilisant certains de ses contenus.

1

Yeh vous devez inclure tous les fichiers d'en-tête mentionnés dans BatteryTimeRemaining.c. Donc, tous ces fichiers ...

#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" 

Tous les supports de triangle doivent inclure des fichiers d'inclusion du système et devraient donc déjà figurer sur votre système. Les fichiers d'inclusion cités sont probablement partie de ce projet que vous récupérez BatteryTimeRemaining.c de. Vous devrez les copier de ce projet vers votre propre projet.

Il est probablement plus facile de copier les fonctions que vous voulez et de les coller dans votre propre base de code. Sans doute, vous aurez quelques problèmes de dépendance, mais il est probablement plus facile d'obtenir une ou deux fonctions de construction sur votre système, puis l'ensemble du fichier. C'est assez long.

Quelle fonction voulez-vous utiliser exactement avec BatteryTimeRemaining.c?

+0

Je voulais obtenir la valeur de capRatio = ((double) b-> maxCap + kSmartBattReserve_mAh)/(double) b-> designCap; Savez-vous quels sont les fichiers et les bits de code dont j'ai besoin? capRatio est tout ce que je veux ... – Stumf

+0

Peut-être que je suis malentendu mais si tout ce que vous voulez, c'est les calculs dans cette ligne, il suit le format de ... capRatio = (a + b)/c Vous pouvez facilement remplacez a, b et c avec vos propres variables. –

+0

Oui, mais où pourrais-je obtenir les valeurs pour maxCap et designCap? Ils doivent être déclarés quelque part et je ne peux pas comprendre d'où viennent leurs valeurs et comment je peux les obtenir. C'est pour cette raison que j'ai pensé que je devais ajouter tous les fichiers d'en-tête etc. Est-ce nécessaire ou est-ce que je manque un moyen facile de faire cela? – Stumf

0

Essayez d'ajouter que

#import "BatteryTimeRemaining.h" 

le fichier que vous souhaitez utiliser ces fonctions. Il peut être assez ..