Lua µ÷ÓÃCдµÄ¶¯Ì¬¿âÓöµ½µÄÎÊÌâ¼°½â¾ö
×î½üÒ»¸öÏîÄ¿ÓÃlua5.1.4ºÍc++ÁªºÏ¿ª·¢¡£ÔÚ¿ª·¢µÄ¿ªÊ¼½×¶ÎÓöµ½ÁËÒ»µãÎÊÌ⣬ÎÊÌâÈçÏ£º
ÓÃÃüÁîÐÐÔËÐУºlua test.lua
lua: error loading modules 'dllforlua' from file './dllforlua.dll':
ÕÒ²»µ½Ö¸¶¨µÄ³ÌÐò¡£
ÒòΪÊǵÚÒ»´ÎʹÓã¬Õâ¸öÎÊÌâÀ§ÈÅÁËÎҺü¸Ìì¡£¾¹ý¶à·¬²âÊÔ£¬·¢ÏÖÈçϹæÂÉ£º
Èç¹ûÓÃrequireµ÷ÓõÄʱºò£¬C¶¯Ì¬¿âµÄÎļþÃû±ØÐëÒªÓëµ¼³öº¯Êý±£³ÖÒ»Ö¡£
ÀýÈ磺¶¯Ì¬¿âÃû×Ö£ºtestlua.dll£¬ÄÇôµ¼³öº¯Êý±ØÐëÈçÏ£º
extern "C"
LUALIB_API int luaopen_testlua(lua_State *L) {
lua_register(L, "average", lua_average);
return 0;
}
ÁíÍâÒ»ÖÖ½â¾ö·½·¨£¬ÓÃpackage.loadlib£¨¾ø¶Ô·¾¶.dll, "µ¼³öº¯ÊýÃû")
È»ºóµ÷ÓÃÕâ¸öµ¼³öº¯Êý
dllentry = package.loadlib("D:\\myprogram\\Lua\\firstC\\Release\\luatest.dll", "luaopen_suibian")
dllentry()
avg, sum = average(10, 20, 30, 40, 50)
print("The average is ", avg)
print("The sum is ", sum)
˵Ã÷£ºluatest.dllÊǶ¯Ì¬¿âµÄÃû×Ö£¬luaopen_suibianÊǵ¼³öº¯ÊýÃû£¬2Õß¿ÉÒÔ²»Ò»Ö¡£
½¨ÒéÓõÚÒ»ÖÖ·½Ê½¡£
Ïà¹ØÎĵµ£º
ÏÂÃæÕâ¸ö³ÌÐòÊä³öʲô£¿
enum {false,true};
int main()
{
int i=1;
do
{
printf("%d\n",i);
i++;
if(i < 15)
continue;
}while(false);
return 0;
}
ÄãÏàÐÅô£¿ÏÂà ......
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
{
char a = 'a';
......
Á´±í¶¨Òå¼°²Ù×÷µÄÔ´Îļþ£ºemployee.h
//
#pragma once
#ifndef __EMPLOYEE_H__
#define __EMPLOYEE_H__
#include<stdio.h>
#include<malloc.h>
typedef struct employee{
int id;
int age;
int salary;
}EmpType;
typedef struct Node{
EmpType data;
struct Node *next;
}L ......
Ò» £º½â¾öC»òC++ÖеÄmultiple definition ofÎÊÌâ
server.cpp
clientp2p.cpp
#include "exception.h"
#include "clientp2p.h"
clientp2p.h
ÖÐдÓÐËùÓеÄÈ«¾Ö±äÁ¿¼°Æä³õʼ»¯Öµ
ºÍº¯ÊýÉùÃ÷
1.server.cppÖУº
ÒýÓÃ
£º
#include "clientp2p.h"
int Main(....)
{
...
}
2.clientp ......
ÄÚÈÝ£ºMemory
1. ¼¸¸ö»ù±¾¸ÅÄpage¡¢frame¡¢paging¡¢segment¡£
½ø³Ì·ÖÅäÄÚ´æµÄÁ½ÖÖģʽ£¬Ò»¸öʹÓà exec ϵÁк¯Êý£¬Ò»¸öʹÓà programmatically£¨malloc µÈº¯Êý£©¡£
ÖØÒªµÄ segment ÓÐ text segment£¨´æ·Å´úÂëµÈµÈ£¬Ò»°ãÔÚ½ø³ÌµÄÉúÃüÖÜÆÚÖв»±ä£©¡¢data segment
£¨´æ·ÅÊý¾Ý£¬ÄÜÓÃһЩº¯ÊýÀ´µ÷Õû´óС£¬²»¹ýµÍλ¶ËλÖò»± ......