文章列表
网速太慢,待续
step1:下载jmf
java media framework
已经放到附件中,可以直接下载
step2:简单的实例代码
package org.liujia.game.toolkit.manager.audiomanager;
import java.io.File;
import java.net.MalformedURLException;
import javax.media.Manager;
import javax.media.Player;
public class MediaPlayerTest{
public static void main(S ...
用exe4j生成可执行文件
- 博客分类:
- java
exe4j是一款可以生成可执行文件的软件,用它可以生成java源代码的可执行文件
下载可以通过:http://www.onlinedown.net/softdown/15755_2.htm
安装和使用请参考:http://blog.163.com/sunxiaopeng_18/blog/static/22862153200951642310639/
注意事项:
1、为什么找不到外部jar包?
外部jar包也要通过exe4j导入进来,在导入jar包那一步骤
2、为什么执行时找不到xml,图片等这些文件?
尝试了一下,打到jar包里也找不到。所以如果是相对路径的话,要放到生成的exe文件所在的文件 ...
几个函数:
FILE *fp;//定义一个文件类型的指针
FILE *fopen(char *filename,char *RWAmode);//访问文件,返回FILE类型的指针。参数从名字可以看出来,filename是文件名,RWAmode是访问方式:读(r)、写(w)、追加(a)
int getc(FILE *fp);//返回fp指向的输入流中的下一个字符
int putc(int c,FILE *fp);与上面相反,将字符c写入,并返回写入的字符;如果写入出错,则返回EOF
fclose(FILE *fp);与fopen相反,关闭文件。有两个作用,一是释放文件指针,二是清理缓冲区, ...
电信iphone4攻略
- 博客分类:
- apple
只针对电信的CDMA版的iphone
step1:激活插入电脑,用itunes
step2:查看保修相关信息
https://selfsolve.apple.com/agreementWarrantyDynamic.do
详细查看
step3:越狱
ctc.appvv.com (请从手机的浏览器上访问)
注意:该站点仅适用于电信版IPHONE,其他设备(WCDMA IPHONE,CDMA/WCDMA IPAD2,IPOD请用 jb3.appvv.com 越狱
支持版本: 4.2.6/4.2.7/4.2.8
功能:
1.一键越狱
2.越狱后自动安装CC破解
3.自动安装Appsync( ...
像printf和scanf这些函数的参数都是可变的,那么如何定义可变参数呢?
这要解决两个问题
1、如何声明
2、如何调用
如何声明:
printf的声明形式如下:
int printf(char *fmt,...)
就这么简单。这里有一点要注意一下,就是至少要有一个有名参数,否则不能定义可变参数,如果定义为printf(...),编译时会报错“ISO C requires a named argument before '...'”
如何调用:
这个比较麻烦,名字都没有怎么调用呢。
<stdarg.h>中定义了一组宏和类型,用来帮助我们遍历参数列表
va_list类型用来声明 ...
printf格式化转换说明
- 博客分类:
- C/C++
[code="c"]int printf(char *format,arg1,arg2,...)
这样printf常用,第一个参数是要输出的内容,后面是变量列表,这样函数会将format变量中的“%xxxx”替换成后面的变量arg1~argn
下面介绍一下这些“%xxxx”,如“%-15.10s”分两个部分,前面的"-15.10"是对格式的限定,后面的“s”是对类型的限定。先说格式的限定:
符号(-) ,左对齐
数字(123),最小字段宽度,不够的填充空格,往哪边填充要看对齐方式了
小数点(.),指定精度,如 ...
c语言中的位字段
比如我们想写一个这样的程序,标识一个会员的身份和服务,是否是高级会员,是否有发信服务,是否有邀请其他人权限
我们可以将这些“开关”放在一个字段里,那就是“位”的概念,每一位有两个值0和1,来表示开与关
我们可以这样写:
#define HIGHLEVEL 01
#define SENDMAIL 02
#define INVITE 04
main(){
// 不具有任何权限的会员
int flags = 0;
// 具有高级会员
flags |= HIGHLEVEL;
// 具有三个权限
flags |= HIGHLEVEL | SENDMA ...
【转载】gcc命令详解
- 博客分类:
- C/C++
地址:http://www.cppblog.com/SEMAN/archive/2005/11/30/1440.html
[介绍]
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
[参数详解]
-x language filename
设定文件所使用的语言,使后缀名无效,对以后的多 ...
gdb debug c
- 博客分类:
- C/C++
用gdb可以debug c程序,简单操作如下:
step-0:准本工作
拿下面的程序为例子
#include <stdio.h>
#include <ctype.h>
main()
{
int c;
while((c=getchar())!=EOF){
if(isspace(c) && c!='\n'){
printf("is a space!\n");
}else if(isdigit(c)){
printf("is a number!\n");
}els ...
函数指针也就是指向函数的指针。
c语言里搞出这么个东西,虽然有其灵活性,但是用起来挺纠结的。说也说不大明白,举个例子就明白了:
我们现在要做排序,那排序的规则有很多种,比如按字母的顺序排序,比如按数字大小排序....可以为每种排序都写一个函数,但是两种排序方式有很多重复代码,除了最里层的“比较函数”不一样,其余的部分都是一样的。
当然我们可以用if else,这样可以解决问题。函数指针呢是另一种解决方案,我们可以写出各种“比较函数”,比如strcmp,numcmp....,然后将这些函数的指针传递给排序函数sort,当比较的时候调用即可。下面上代码:
第一部分是声明:
void sort(voi ...
静态变量与static
- 博客分类:
- C/C++
静态变量分两种,一种是静态外部变量,一种是静态内部变量
静态外部变量其实就是该变量只能当前文件中的函数访问,其他文件中的不能访问
静态内部变量是只能当前函数中访问,但与那些自动变量的区别是不管其所在的函数是否被调用,它一直存在。
static呢是用来声明静态变量的,在变量前加上static即可。
举个例子:
static char buf[100];
static int bufp = 0;
// 从缓冲区获取字符
int getch(void){...}
// 将字符放回缓冲区
void ungetch(int c){...}
这个例子是操纵缓冲区的,因此读取缓冲区要共享buff ...
c语言中的产量用const来声明。
比如:
const double pie = 3.1415926
很简单,有两点注意一下就行了。
1、默认情况下,外部变量和静态变量都将被初始化为0
2、const限定的元素,其值不能被修改。
外部变量与extern
- 博客分类:
- C/C++
外部变量顾名思义就是定义在函数之外的变量。
它只能定义一次,定义后编译程序将为它分配存储单元。
如果需要访问外部变量,则必须声明相应的外部变量,声明时可以用extern语句显示声明,也可以通过上下文来隐式声明。
比如:
int max=5;
main()
{
extern int max;
printf("%d",max);
}
这是显示声明。
当然,在某些情况下extern声明是可以省略的,即隐式声明。什么时候可以省略呢?要满足两个条件,1个是外部变量的定义和调用者在同一个源文件内,2是外部变量的定义出现在使用它的函数之前,满足上面两个条件就可以省 ...
为什么要将c程序放到各个文件中?
1、模块化、可复用
2、可单独编译,缩短编译时间
3、版本控制、团队协作
4、方便修bug
一般怎么划分?
两个维度
1、各种宏,全局变量和函数啥的一般都是定义在.H文件里(头文件里),类似于java中的接口。实现放在.C文件中
2、按照职责进行划分,比如一个游戏程序可以划分多个c文件,一个负责主引擎,一个负责渲染,一个负责算法,一个负责映射等等
怎么写?
先写h头文件
比如test.h
extern void test();
test.c
void test()
printf("test!\n",i);
}
这样在其他程序中,只要引入 ...
用editplus写c/c++程序
- 博客分类:
- C/C++
先下一个editplus
再下一个编译器,可以用MingW,地址在http://down.tech.sina.com.cn/page/50401.html
最后配置editplus,步骤如下
打开editplus。点上面的“工具”->“配置用户工具”->点右上角的添加->应用程序。
然后在下面添加三项:
1.GCC编译---------------------------------------
菜单文本框中写上:GCC_C编译
命令中框中写上: gcc
(不设置path要用完整路径d:\MingW\bin\g++.exe;
gcc.exe ...