Add example notebook

This commit is contained in:
Brendan Rius 2016-03-25 14:30:05 +00:00
parent 04ddc5ae88
commit 8a8f665d7d

164
Example of C notebook.ipynb Normal file
View File

@ -0,0 +1,164 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Valid code"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": []
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello world\n"
]
}
],
"source": [
"#include <stdio.h>\n",
"\n",
"int main() {\n",
" printf(\"Hello world\\n\");\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But the kernel will also display compilations warnings and errors if we have some. Let's try to remove the `#include <stdio.h>` statement, which if necessary for `printf` to work."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Code generating warnings during compilation"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/31/qct57s856n5f0b2r4tgbmn1c0000gn/T/tmp0Qan0v.c:2:5: warning: implicitly declaring library function 'printf' with type 'int (const char *, ...)' [-Wimplicit-function-declaration]\n",
" printf(\"Hello world\\n\");\n",
" ^\n",
"/var/folders/31/qct57s856n5f0b2r4tgbmn1c0000gn/T/tmp0Qan0v.c:2:5: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'\n",
"1 warning generated.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello world\n"
]
}
],
"source": [
"int main() {\n",
" printf(\"Hello world\\n\");\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that the warning are displayed, but the code is still executed."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Code generating errors during compilation"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/31/qct57s856n5f0b2r4tgbmn1c0000gn/T/tmpw4Kz3c.c:2:5: warning: implicitly declaring library function 'printf' with type 'int (const char *, ...)' [-Wimplicit-function-declaration]\n",
" printf(\"Hello world\")\n",
" ^\n",
"/var/folders/31/qct57s856n5f0b2r4tgbmn1c0000gn/T/tmpw4Kz3c.c:2:5: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'\n",
"/var/folders/31/qct57s856n5f0b2r4tgbmn1c0000gn/T/tmpw4Kz3c.c:2:26: error: expected ';' after expression\n",
" printf(\"Hello world\")\n",
" ^\n",
" ;\n",
"1 warning and 1 error generated.\n",
"[C kernel] GCC exited with code 1, the executable will not be executed"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": []
}
],
"source": [
"int main() {\n",
" printf(\"Hello world\")\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that the errors and warnings are shown, but the code is not executed. The retcode is also added to the end of `stderr`"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "C",
"language": "c",
"name": "c_kernel"
},
"language_info": {
"file_extension": "c",
"mimetype": "text/plain",
"name": "c"
}
},
"nbformat": 4,
"nbformat_minor": 0
}