lua和c的交互
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
//Lua示例代码
char *szLua_code =
"r = string.gsub(c_Str, c_Mode, c_Tag) --宿主给的变量 "
"u = string.upper(r)";
//Lua的字符串模式
char *szMode = "(%w+)%s*=%s*(%w+)";
//要处理的字符串
char *szStr = "key1 = value1 key2 = value2";
//目标字符串模式
char *szTag = "<%1>%2</%1>";
lua_State *L = luaL_newstate();
luaL_openlibs(L);
//把一个数据送给Lua
lua_pushstring(L, szMode);
lua_setglobal(L, "c_Mode");
lua_pushstring(L, szTag);
lua_setglobal(L, "c_Tag");
lua_pushstring(L, szStr);
lua_setglobal(L, "c_Str");
//执行
bool err = luaL_loadbuffer(L, szLua_code, strlen(szLua_code),
"demo") || lua_pcall(L, 0, 0, 0);
if(err)
{
//如果错误,显示
cerr 
相关文档:
JNI调用可以加快JAVA的运行速度,主要是将关键的代码用C/C++ 或者mfc完成,在这里贴上我写的一段代码,有兴趣的可以参考:
头文件:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class cn_com_wintone_TLConnectJNI */
#ifndef _Included_cn_com_wintone_TLConnectJ ......
#include<stdlib.h>
#include<iostream>
#include<string.h>
using namespace std;
int main(void)
{
FILE *fp, *fp2;
char buf[1024*300];
fp = fopen("in.txt", "rb");
fp2 = fopen("out.txt", "wb+");
fseek(fp, 0, SEEK_END);
int iLen ......
出于性能的考虑,标准c库中的某些函数是以宏的方式实现的。
大部分情况下这都是一个有益的方式,但是在跟踪或调试程序时,可能会使你产生困惑。
此时可以使用undef来避免这个问题。
例:
默认情况下
#include <ctype.h>
some code...
....
isspace ......
前两天去了家游戏公司面试c/c++,题目做的很差,回来查查才发现题目大部分来自这篇文章《高质量C++/C编程指南》,有空得好好看看。
《高质量C++/C编程指南》
http://man.chinaunix.net/develop/c&c++/c/c.htm#_Toc520633987 ......