gcc позволяет создавать статические и динамические библиотеки. Используйте параметр линковки -shared и на выходе получите файлик .so - что в linux и есть аналог .dll
Вот тут все параметры линковки
Ну и примерчик: gcc *.o -shared -o file.so [-l<libraries>]
Зависит от случая.
Например, если их не указать в базе, то клиент на JS получит в поле undefined, а не null.
Возможно, это сыграет роль в бизнес логике, и что-то пойдет не так.
Смотрите сами. :)
Основных проблемы две:
1. Как генерируется токен, хранится и удаляется. Есть ли привязка к IP и др.
2. Угон токена через xss или другим способом, поскольку можно напрямую его читать. Наиболее рациональным подходом будет хранить в куки с флагом httponly. Для параноидальности еще можно разбить токен на две части. Одна в куке, другая отправляется вручную в запросе/заголовке.
Но еще лучше использовать http digest аутентификацию.