男孩8年级,C++ 零基础,想利用暑假学习,参加9月信奥赛,SOS有信奥赛教学经验的大咖帮助。
你不如直接给孩子报个培训班好了,8岁太小了我也不觉得这里有人有耐心教一个零基础的
八年级建议报班,而且这个年龄走竞赛路线晚了
下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,
我们将这几个文件编译成一个动态库:libtest.so。
$ more so_test.h
#ifndef CSTUDTY5_SO_TEST_H
#define CSTUDTY5_SO_TEST_H
#include "stdio.h"
void test_a();
void test_b();
void test_c();
#endif //CSTUDTY5_SO_TEST_H
$ more test_a.c
#include "so_test.h"
void test_a() {
printf("this is in test_a...\n");
}
$ more test_b.c
#include "so_test.h"
void test_b()
{
printf("this is in test_b...\n");
}
$ more test_c.c
#include "so_test.h"
void test_c() {
printf("this is in test_c...\n");
}
$
将这几个文件编译成一个动态库:libtest.so
$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so
或者
$ g++ test_a.c test_b.c test_c.c -fPIC -shared -o libtest2.so
上述2个命令选择其中1个就成,可以爬到通过gcc与g++生成的动态库文件大小略有区别的
$ ll
drwxr-xr-x 10 mac staff 320 Jun 4 19:32 .
drwxr-xr-x 9 mac staff 288 Jun 4 19:32 ..
-rwxr-xr-x 1 mac staff 8440 Jun 4 19:32 libtest.so
-rwxr-xr-x 1 mac staff 8456 Jun 4 19:32 libtest2.so
-rw-r--r-- 1 mac staff 151 Jun 4 19:28 so_test.h
-rw-r--r-- 1 mac staff 78 Jun 4 18:57 test_a.c
-rw-r--r-- 1 mac staff 77 Jun 4 18:58 test_b.c
-rw-r--r-- 1 mac staff 77 Jun 4 19:30 test_c.c
小孩子最好是培养兴趣。你的做法我觉得对小孩的兴趣打击很大:
现在完全0基础,那么短时间要想拿奖,那得非常大强度的学习和训练,这是其一
其二,这种竞赛作为学习的目的,直接让小孩面对竞争,并且大概率拿不到好名次,会非常打击他的信心
小孩没有了兴趣,就算取得成绩,那也废了,真的,这和拔苗助长一个道理。